2015-05-07 2 views
0

Я уже пробовал несколько вещей, я запускаю приложение NodeJS с помощью ExpressJS на сервере nginx, все работает до тех пор, пока я добавляю: 3000 (или любой другой другой порт) к моему URLNodeJs на nginx не работает без номера порта в url

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/;

Смежные вопросы