如何代理传递在两个不同端口上运行的两个应用程序



这是我的nginx配置文件

server {
listen 80;
server_name 0.0.0.0;
client_max_body_size 10000M;
location / {
auth_basic "Restricted Content";
auth_basic_user_file /etc/apache2/.htpasswd;
proxy_pass http://localhost:8888;
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;
proxy_set_header X-Real-Scheme $scheme;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 120s;
proxy_next_upstream error;
}
location /source {
auth_basic "Restricted Content";
auth_basic_user_file /etc/apache2/.htpasswd;
proxy_pass http://localhost:5050/source;
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;
proxy_set_header X-Real-Scheme $scheme;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 120s;
proxy_next_upstream error;
}
}

我可以路由在端口8888上运行的第一个应用程序,但对于在端口5050上运行的第二个应用程序我无法通过nginx路由。我使用/source作为前缀,但它不起作用。第二个应用程序在我们的应用程序中也以/开头。请就上述问题寻求指导。

//source之前匹配,因此您永远无法到达/source,因此无法路由。切换CCD_ 4指令的顺序就足够了。

最新更新