2017-05-30 72 views
0

我将简短的介绍没有..2应用程序的NodeJS NGINX服务器

我在与NGINX配置(对谷歌云),使2周应用程序的NodeJS对不同端口的同一领域工作的一个严重问题

假设APP1正在端口3002,APP 2工作在端口3003

APP1

location/{ 
     root /home/bitnami/project_name; 
     proxy_pass http://127.0.0.1:3002; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     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_redirect off; 
    } 

APP2

location /app2 { 
     root /home/bitnami/project_name; 
     proxy_pass http://127.0.0.1:3003; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     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_redirect off; 
    } 

,当我上网www.example.com/app2,我得到404页

我知道一些的U会说,这个问答已经问过,相信我,我已经试穿计算器所有可能的解决方案..非曾与我一起工作

注:APP1位置已经成为主要的域,以便(/)主域名URL,而不路径

回答

1

我相信你的代码不使用相对路径,这就是为什么您收到此错误,加入这一行:

rewrite ^/app2(.*) /$1 break; 

,并没有对代理通所需的根,你的新代码将是这样的:

location /app2 { 
    #root /home/bitnami/project_name; 
    proxy_pass http://127.0.0.1:3003; 
    #proxy_http_version 1.1; 
    #proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host; 
    #proxy_set_header X-NginX-Proxy true; 
    #proxy_redirect off; 
    rewrite ^/app2(.*) /$1 break; 
} 
+0

肯定你是对的..问题解决了:D – developerbh

0

第一location块捕获reque sts为您的域名的所有请求,留下第二个块从未使用。把第二块放在第一块之前,它应该工作。

+0

所以你建议我扭转顺序..就是这样吗? – developerbh

+0

是的!请让我们知道它是否工作:) –

+0

同样的事情..我得到一个404页 – developerbh