我有两个与我的 VPS 关联的 IP,并且正在尝试将其设置为服务两个节点应用程序。这是我的配置:
在 /etc/nginx/sites-enabled/domain1 中:
upstream app_domain1 {
server 127.0.0.1:4000;
}
server {
listen 0.0.0.0:80;
server_name IP1.xxx.xxx.xxx;
access_log /var/log/nginx/domain1.log;
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-Nninx-Proxy true;
proxy_pass http://app_domain1/;
proxy_redirect off;
}
}
在 /etc/nginx/sites-enabled/domain2
upstream app_domain2 {
server 127.0.0.1:3000;
}
server {
listen 0.0.0.0:80;
server_name IP2.xxx.xxx.xxx;
access_log /var/log/nginx/domain2.log;
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-Nninx-Proxy true;
proxy_pass http://app_domain2/;
proxy_redirect off;
}
}
在 /etc/nginx/sites-enabled 中,我运行:
ln -s /etc/nginx/sites-available/domain1 domain1
ln -s /etc/nginx/sites-available/domain2 domain2
现在,当我转到 /var/www/domain1 并在正确的端口上运行“node app.js”时,我可以访问相关的 IP 地址并查看应用程序正在运行,但对于 domain2 来说情况并非如此(我检查了它在此配置的正确端口上运行。请求只是超时 - 根本没有响应。
那么我该如何解决这个问题呢?
更新:
如果我直接访问端口,我会在两个 IP 上看到两个应用程序,因此:
IP1.xxx.xxx.xxx:4000 给了我 domain1 的应用程序
IP1.xxx.xxx.xxx:3000 给了我 domain2 的应用程序
和
IP2.xxx.xxx.xxx:4000 给了我 domain1 的应用程序
IP2.xxx.xxx.xxx:3000 给了我 domain2 的应用程序
因此,它将每个 IP 地址视为相同。