nginx从foo中反向加载资源.酒吧/正常应用



我有一个web应用程序在同一个容器网络上的nginx反向代理后面的docker容器中运行。设置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 ^([^.]*[^/])$ $1/ permanent