Проблемы с Nginx nodejs

#node.js #nginx

#node.js #nginx

Вопрос:

Я пытаюсь использовать nginx для подключения веб-сайта, размещенного на порту 8080, к домену exemple1.com и еще один на порту 8081, который я хочу перенаправить на домен exemple2.com . В файле /etc /nginx/sites-available/default я запустил этот код:

 location ~/example1/ {
    proxy_pass http://example1.com;
}
location ~/example2/ {
    proxy_pass http://example2.com;
}
  

но я не смог заставить это работать. Я запускаю 2 сервера nodejs на портах, о которых я говорил (порт 8080 и 8081).
Что я делаю не так и как «исправить»
это?

Ответ №1:

Поскольку нижестоящий сервер приложений работает на разных портах ( listen ), чем входящие, вам необходимо указать порты в proxy_pass. Так что я думаю

 listen 8080; 

location ~/example1/ {
    proxy_pass http://example1.com:8080;
}
location ~/example2/ {
    proxy_pass http://example2.com:8081;
}
  

Комментарии:

1. но когда я выполняю sudo nginx -t, я получаю следующее: nginx: [emerg] директива «слушать» здесь не разрешена в / etc /nginx /sites-enabled /default:20 nginx: файл конфигурации /etc /nginx /nginx.conf сбой теста

2. @FlorinBaciu вы создаете файл .conf в /etc /nginx /conf.d и можете иметь server { listen ... } внутри.