运行 同一局域网服务器 nginx 上的多个 Web 应用程序
Running Multiple Web Applciations on the Same LAN Server nginx
我在 LAN 网络上为 2 个 docker 容器提供服务,一个云服务器在端口 5234 上,另一个 Flask 应用程序在 8080 上。
我正在尝试使用 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, client: 192.168.1.72, server: 192.168.1.23, 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;
我在 LAN 网络上为 2 个 docker 容器提供服务,一个云服务器在端口 5234 上,另一个 Flask 应用程序在 8080 上。
我正在尝试使用 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, client: 192.168.1.72, server: 192.168.1.23, 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;