我知道多个 node.js,我假设通过扩展 Meteor,可以使用 Nginx 在一台服务器上运行。我已经安装好 Nginx 并在 Ubuntu 服务器上运行得很好,我什至可以让它响应请求并将它们代理到我的一个应用程序。然而,当我试图让 Nginx 将流量代理到第二个应用程序时,我遇到了障碍。
一些背景:
- 在端口 8001 上运行的第一个应用程序
- 在端口 8002 上运行的第二个应用程序
- Nginx 监听 80 端口
- 试图让 nginx 在 / 向应用程序一发送流量,在 /app2/ 向应用程序二发送流量
- 这两个应用程序都可以通过转到 domain:8001 和 domain:8002 来访问
我的 Nginx 配置:
upstream mydomain.com {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
# the nginx server instance
server {
listen 0.0.0.0:80 default_server;
access_log /var/log/nginx/mydomain.log;
location /app2 {
rewrite /app2/(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:8002;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:8001;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
任何有关当流量转到 /app2/ 时可能发生的情况的见解,我将不胜感激!