我想用来自同一个域的nginx来托pipe2个不同的节点应用程序,并且遇到一些麻烦。 我想拥有:
mydomain.com指向节点应用程序firstApp和otherapp.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/