2015-05-07 66 views
0

我已經嘗試了很多東西,我在nginx服務器上使用ExpressJS運行NodeJS應用程序,只要添加:3000(或任何其他端口),以我的網址nginx上的NodeJs無法在沒有端口號的情況下工作

http://162.209.01.01:3000顯示正確的節點應用 http://162.209.01.01顯示nginx的歡迎頁面(歡迎nginx的,如果你看到這個網頁...)

我想端口映射3000到端口80這樣我就可以在不輸入URL中的端口的情況下加載節點應用程序。

這是我sites-enabled/default文件:

upstream testApp { 
server 127.0.0.1:3000; 
    keepalive 64; 
} 

server { 
    listen 80; 
    server_name .testApp; 
    access_log /var/log/nginx/simplyAsk.log; 

    location/{ 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For  
      $proxy_add_x_forwarded_for; 
      proxy_set_header X-Forwarded-Proto $scheme; 
      proxy_set_header Host $http_host; 
      proxy_set_header X-NginX-Proxy true; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "upgrade"; 
      proxy_pass http://162.209.01.01; 
      proxy_redirect off; 
      proxy_http_version 1.1; 
    } 
} 

這是我bin/www文件:

#!/usr/bin/nodejs 
var debug = require('debug')('my-application'); 
var app = require('../app'); 

app.set('port', process.env.PORT || 3000); 

var server = app.listen(app.get('port'), function() { 
    debug('Express server listening on port ' + server.address().port); 
}); 
+1

您有奇怪的'proxy_pass'指令。可能它應該是'proxy_pass http:// testApp /;' –

+0

yup,這是有效的,永遠不會猜到。謝謝! – matt

+0

無需猜測。只要小心,並**懂**你寫/複製... –

回答

0

proxy_pass說法是有點過。

請嘗試以下操作。

proxy_pass http://testApp/;

相關問題