IIS и Node Side by Side на одном сервере Windows - PullRequest
0 голосов
/ 27 августа 2018

У меня есть приложение с пользовательским интерфейсом на Angular и Web API на Nodejs, развернутое на следующих веб-серверах (на том же сервере Windows, скажем, «server1»).Настроили несколько IP-адресов на сервере, как указано ниже

  1. UI - IIS, прослушивание 10.250.18.51 с портом 80 на server1
  2. API - NodeJ, прослушивающие 10.250.18.52 с портом 80 на сервер1 .В конечном итоге будет использоваться Nginx для пересылки запроса на nodejs

Постановка проблемы

Невозможно запустить и Nodejs, и IIS на порту 80, хотя оба слушаютразные IP-адреса

  1. ошибка IIS : порт уже используется другим процессом
  2. NodeJs ошибка : EACCES, разрешение отклонено

Я что-то упустил?

С уважением

1 Ответ

0 голосов
/ 27 августа 2018

Хотя они работают на разных IP-адресах, они работают на одной и той же машине, поэтому на одной и той же машине вы не можете запускать два процесса на одном и том же узле.

Поскольку вы используете nginx, лучшим решением будетделать обратный прокси для процесса узла.

Используйте разные домены для обоих процессов и используйте Nginx для их перенаправления следующим образом:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name www.xxx.me xxx.me;

        # your IIS config for nginx
}

# slack
server {
    listen 80;

    server_name xxx.xxx.me;

    location / {
        proxy_pass http://localhost:7777;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }
}

Выше приведенный фрагмент предполагает, что ваш процесс узла работает на 7777

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