Я уже пробовал несколько вещей, я запускаю приложение 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);
});
У вас есть странная директива 'proxy_pass'. Вероятно, это должно быть 'proxy_pass http: // testApp /;' –
yup, который работал, никогда бы не догадался. благодаря! – matt
Не нужно угадывать. Просто будьте осторожны и ** понимайте **, что вы написали/скопировали ... –