Express и NGINX с поддоменами на одном сервере - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблема, и я попытался найти здесь ответ, но безуспешно. Изначально я использовал балансировщик нагрузки AWS для решения проблемы с экспресс-доменами и поддоменами, работающими на определенных портах. Однако это закончилось сбоем недавно, и все, что я получаю, является ошибкой Шлюза.

Поэтому я решил перейти на использование Nginx с Express, так как у меня есть настройка приложения MEAN Stack. Однако, если я запускаю файл Application server.js из стека MEAN, он загружает разные каталоги в разные ПОРТЫ.

Так, например, основной веб-сайт .com находится на порте 9000, приложение сборки на порту 8500, приложение регистрации на порте 10000 и приложение live на порте 8000. Однако если я настрою nginx, чтобы иметь файл субдомена и запущен epxress server.js, он просто говорит, что используется PORT.

Итак, мой вопрос: как мне правильно это настроить? Так что NGINX устанавливает приложение. в нужное место, содержащееся в Экспресс. Или я не должен даже определять порты и местоположения в стороне Express?

1 Ответ

0 голосов
/ 11 сентября 2018

Я бы сделал следующее:

1) Удалите то, что находится в /etc/nginx/sites-enabled/*, а также это /etc/nginx/sites-available/default

2) Создайте отдельный файл конфигурации для каждого сайта в каталоге sites-available/, например, / etc/nginx/sites-available/subdomain1.domain.com.содержимое каждого файла должно выглядеть следующим образом.: * 10101 *

upstream upstream_name_x {
  server host_where_app_runs:9000;
}

server {
listen       80;
server_name  subdomain_x.domain.com;

location / {
    proxy_pass http://upstream_name/;
    proxy_http_version 1.1;
    proxy_set_header Host               $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-Proto  $scheme;
   }
}

3) Проверьте файл конфигурации nginx -t.Перезагрузка nginx достаточна для того, чтобы эти изменения вступили в силу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...