我想在同一个域中使用nginx托管2个不同的节点应用程序,但遇到了一些麻烦。我想:
mydomain.com 指向节点应用 firstApp 和 otherapp.mydomain.com 指向节点应用其他
目前,我可以访问 firstApp ,但我无法通过otherapp.mydomain.com访问 otherapp 。
firstApp 的配置如下所示:
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;
}
}
otherapp 的配置如下所示:
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 sites-available目录中创建了两个配置,它们都在启用站点的目录中链接,并且我已经重新启动了nginx。有人能告诉我我做错了吗?
谢谢, 斯瓦拉杰
答案 0 :(得分:4)
刚刚发现了问题所在。虽然我的nginx配置是正确的,但我没有将我想要的子域添加到我的域名提供者(namecheap)。我在namecheap上添加了我的子域名,现在一切正常。
答案 1 :(得分:3)
我遇到了同样的问题,花了一些时间研究后我写了一篇博文,在那里我详细解释了我是如何解决它的,我希望它有所帮助。这是:http://blog.donaldderek.com/2013/08/cf-i-configure-your-staging-machine-with-node-js-and-nginx/
答案 2 :(得分:3)
你应该像这样配置你的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(' trust proxy');