Как настроить nginx на использование одного и того же порта с одинаковым именем сервера для 2 сайтов - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть 2 сайта на одном компьютере Debian. В настоящее время один работает на порту 443/80, а другой - на порту 8090. Мне нужно запустить оба сайта на 443, и если я захожу на site.com/1 - меня перенаправляют на сайт 1 и, если я захожу на сайт. com / 2 - мне нужно связаться с сайтом 2. Как этого добиться с помощью nginx?

Я пробовал проксировать, но проблема в том, что - если я использую один и тот же порт для обоих прослушиваний, он игнорирует указание уже в использовать.

1 Ответ

0 голосов
/ 21 апреля 2020

По вашему требованию вы хотите запустить два сайта с одним доменом. Допустим,

example.com/site1
example.com/site2

, для этого вам нужно изменить файл конфигурации nginx согласно следующему шаблону, открыть файл конфигурации nginx, связанный с доменом example.com, и добавить следующий код.

    server {
      listen 80;
      server_name  example.com;
      return 301 https://example.com$request_uri;
    }

    server {
      listen 443 ssl http2;
      server_name example.com; 
      modsecurity_transaction_id "example.com-$request_id"; 
      access_log           /var/log/nginx/access.log; 
      error_log            /var/log/nginx/error.log; 
      include              /etc/nginx/default.d/example.com/*.conf;
location / {
            try_files $uri $uri/ =404;
    }


    location /site1 {
            index index.php index.html index.htm;
            try_files $uri $uri/ /site1/index.php?q=$uri&$args;
    }

    location /site2 {
            index index.php index.html index.htm;
            try_files $uri $uri/ /site2/index.php?q=$uri&$args;
    }
}
...