nginx 从 foo.bar/app 正确反向加载资产
nginx reverse load assets from foo.bar/app properly
我在同一容器网络上的 nginx 反向代理后面的 docker 容器中有一个 Web 应用程序 运行。
nginx 设置为 foo.bar/app
重定向到容器,但应用程序似乎尝试从 foo.bar/
加载资源。我已尝试执行此处记录的操作:https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/
结果我的位置块看起来像这样:
location /app {
root /app;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://webapp/;
}
其中 webapp 是网络中 webapp docker 容器的名称
对于位置块,这很好
location /app {
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://webapp/;
}
诀窍是使用尾部斜杠访问 foo.bar/app/
而不是 foo.bar/app
另外添加此行将自动添加尾部斜杠:
rewrite ^([^.]*[^/])$ / permanent
我在同一容器网络上的 nginx 反向代理后面的 docker 容器中有一个 Web 应用程序 运行。
nginx 设置为 foo.bar/app
重定向到容器,但应用程序似乎尝试从 foo.bar/
加载资源。我已尝试执行此处记录的操作:https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/
结果我的位置块看起来像这样:
location /app {
root /app;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://webapp/;
}
其中 webapp 是网络中 webapp docker 容器的名称
对于位置块,这很好
location /app {
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://webapp/;
}
诀窍是使用尾部斜杠访问 foo.bar/app/
而不是 foo.bar/app
另外添加此行将自动添加尾部斜杠:
rewrite ^([^.]*[^/])$ / permanent