有几个类似的问题,但我一直无法弄清楚如何解决我的问题。
我在端口80上运行一个nginx的实例,作为nginx的其他一些实例的反向代理(这是反向代理运行django应用程序的不同实例的gunicorn)。
当我导航到gaiadev1 /,它的作品。 当我login时,发生redirect发送应用程序到gaiadev:8080。 我想停止发生这种redirect,但我不知道如何。
这是80端口的代理服务器的conf:
upstream gaiadev1 { server 127.0.0.1:8001; keepalive 32; } upstream gaiatest1 { server 127.0.0.1:9001; keepalive 32; } server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name gaiadev1; location / { proxy_pass http://gaiadev1; } } server { listen 80; listen [::]:80; server_name gaiatest1; location / { proxy_pass http://gaiatest1; } }
这里是运行应用程序的nginx实例的conf:
upstream gaia { server %s; keepalive 32; } server { listen %s default_server; listen [::]:%s default_server ipv6only=on; # Make site accessible from http://localhost/ server_name localhost; location /static/ { root /gaia; index index.html; } location / { proxy_pass http://gaia; } }
经过对nginx文档的摸索之后,我发现了一个proxy_redirect的设置来解决这个问题。
location / { proxy_pass http://gaiatest1; proxy_redirect http://$proxy_host:9001 http://$host:80; }