Почему в Nginx выполняется только блок сервера по умолчанию - PullRequest
0 голосов
/ 02 июля 2019

Что я сделал:

Я создал файлы prd.conf на сайтах, доступных.
Я создал символическую ссылку для этого файла на сайтах с поддержкой.
Выполнено тест конфигурации Nginx.
Перезапущенный Nginx

Сценарии:

Если я пытаюсь получить доступ с app.com, он попадает на сервер app.com (ip1).
Если я пытаюсь получить доступ с app1.comон попадает на сервер app.com (ip1) вместо ip2.
Если я пытаюсь получить доступ через nginx-IP / socket, он все равно попадает на сервер app.com (ip1) вместо ip3.

Вопросы:

  1. Что не так с моими файлами .conf?
  2. Отдельный .conf и несколько блоков сервера в одном .conf ведут себя одинаково?
  3. Как можноЯ получаю доступ к блоку сервера в reverse-proxy.conf, который не имеет имя_сервера?

prd.conf

server {
  listen 80;
  server_name app.com ;
  location / {
     proxy_pass http://ip1;
  }
}

server {
  listen 80;
  server_name app1.com ;
  location / {
     proxy_pass http://ip2;
  }
}

server {
  listen 80;
  server_name ip3;
  location /socket/ {
      proxy_pass http://ip3;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "Upgrade";
 }
}

server {
   listen 80;
   server_name _;
   return 404;
}

Ожидаемые результаты:

  1. app.com должен достичь серверного блока 1 в prd.conf
  2. app1.com должен достичь серверного блока 2 в prd.conf
  3. nginx-ip / socket / должен достичь серверного блока вreverse-proxy.conf
...