如何解决在同一个局域网服务器 nginx 上运行多个 Web 应用程序
我在 LAN 网络上为 2 个 docker 容器提供服务,在端口 5234 上有一个云服务器,在 8080 上有一个flask 应用程序。
我正在尝试使用 nginx 作为反向代理,以在具有不同扩展名的同一 ip 上运行它们。我的配置:
server {
listen 80 default_server;
server_name 192.168.1.23;
location /web {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
access_log /var/log/nginx/flaskapp.access.log;
error_log /var/log/nginx/flaskapp.error.log;
}
location /cloud {
proxy_pass http://127.0.0.1:5234;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
}
}
但我在访问 192.168.1.23/web 或 192.168.1.23/cloud 时收到 502 Bad Gateway。
在flaskapp.error.log中:
connect() failed (111: Connection refused) while connecting to upstream,client: 192.168.1.72,server: 192.168.1.23,request: "GET /web HTTP/1.1",upstream: "http://127.0.0.1:8080/",host: "192.168.1.23"
在 nextcloud.error.log 中:
recv() failed (104: Connection reset by peer) while reading response header from upstream,request: "GET /cloud HTTP/1.1",upstream: "http://127.0.0.1:5234/cloud",host: "192.168.1.23"
有没有办法像这样或使用不同的端口在同一个 IP 上运行多个 Web 应用程序?
解决方法
0.0.0.0 不是有效的 IP 地址。尝试引用本地主机的 127.0.0.1。 像这样:
proxy_pass http://127.0.0.1:8080;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。