在同一个域上使用nginx服务多个节点应用程序

我想用来自同一个域的nginx来托pipe2个不同的节点应用程序,并且遇到一些麻烦。 我想拥有:

mydomain.com指向节点应用程序firstAppotherapp.mydomain.com指向节点应用程序

现在,我可以访问firstApp ,但是我无法通过otherapp.mydomain.com访问其他帐户。

firstApp的configuration如下所示:

upstream firstApp{ server 127.0.0.1:8123; } server{ server_name mydomain.com; access_log /var/log/nginx/me.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-NginX-Proxy true; proxy_pass http://firstApp/; proxy_redirect off; } } 

我的其他configuration看起来像这样:

 upstream otherapp{ server 127.0.0.1:8124; } server{ server_name otherapp.mydomain.com; access_log /var/log/nginx/me.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-NginX-Proxy true; proxy_pass http://otherapp/; proxy_redirect off; } } 

我已经在nginx站点可用目录中创build了这两个configuration,它们都链接到启用站点的目录中,并重新启动了nginx。 有人能告诉我我做错了什么吗?

谢谢,Swaraj

刚刚发现了什么问题。 虽然我的nginx配置是正确的,我没有添加我想要的子域名到我的域名提供者(namecheap)。 我在namecheap上添加了我的子域,现在一切正常。

你应该像这样配置你的nginx文件

 server { listen 80; server_name biger.yourdomain.cn; access_log /data/log/nginx/access_ab.log; error_log /data/log/nginx/error_ab.log; location /firstApp { proxy_store off; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://localhost:8001/; } } 

maeby您需要将此代码添加到您的项目

app.enable('信任代理');

我也面临同样的问题,在花费时间研究之后,我写了一篇博客文章,详细解释了我如何解决这个问题,希望它能帮上忙。 这里是: http : //blog.donaldderek.com/2013/08/cf-i-configure-your-staging-machine-with-node-js-and-nginx/