2017-02-22 259 views
0

我試圖設置一個Nginx作爲反向代理來訪問運行在同一臺服務器上的多個NodeJS應用程序。Nginx無法監聽端口

我有PM2運行我的NodeJS應用程序,這一切似乎很動聽:

enter image description here

我的NodeJS應用程序是一個簡單的NodeJS應用與快遞發電機產生的,所以它應該是在端口上運行3000

我還建立了我的Nginx有以下配置

server { 
    listen 1004; 

    server_name pumadashboard.com; 

    location/{ 
     proxy_pass http://127.0.0.1:3000; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 
} 

然而,當我蜷縮127.0.0。 1:1004我從Nginx得到一個badGateway錯誤。我也無法從我的本地網絡上的任何地方訪問pumadashboard.com,它只會一直加載到超時。

+0

標題有誤導之嫌。如果你從nginx得到錯誤,它肯定會聽到端口。檢查nginx的error.log –

回答

0

如果你這樣做,你能得到什麼:

curl http://locahost:3000 

這應該給一個迴應和喜歡,如果應用程序啓動正常,你就明白了。

這nginx的配置對我的作品

upstream pumadashboard.com { 
    server 127.0.0.1:3010; 
} 

server { 
    listen 80; 
    server_name pumadashboard.com; 
    root <path to your node application>; 

    access_log /var/log/nginx/your-access.access.log; 
    error_log /var/log/nginx/your-error.error.log; 

    add_header X-Frame-Options DENY; 
    add_header X-Content-Type-Options nosniff; 

    location/{ 
     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_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     proxy_max_temp_file_size 0; 
     proxy_pass http://pumadashboard.com/; 
     proxy_redirect off; 
     proxy_read_timeout 240s; 
    } 
} 
+0

不起作用,所有這一切發生的是,如果我現在訪問我的網絡服務器與我的瀏覽器中的IP地址,而不指定端口,就像192.168.0.100它轉到應用程序,但URL不起作用。 –

+0

第一步工作。事實上,您可以使用ip查看您的應用,而無需指定端口,這意味着nginx會將流量轉發給您的應用。關於域是另一個問題,可能是你的提供者有一些錯誤。你使用aws route53嗎? –

0

嘗試增加

proxy_set_header X-Forwarded-Host $http_host; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header X-Forwarded-Port 80; 

location /

+0

不起作用:/ –