Назад | Перейти на главную страницу

Один сервер, nginx как обратный прокси, несколько доменов / сайтов

У меня есть эта конфигурация nginx для моего сайта на https, где nginx используется как обратный прокси-сервер:

  server {
      listen 80 default_server;
      listen [::]:80 default_server;
      server_name my_domain123.com www.my_domain123.com;
      return 301 https://$server_name$request_uri;
  }

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name localhost www.my_domain123.com;
    return 301 https://my_domain123.com$request_uri;
  }

  server {
      listen 443 ssl default_server;
      listen [::]:443 ssl default_server;
      server_name my_domain123.com;

    location / {
      proxy_redirect      http://localhost:4000 https://my_domain123.com;
      # ...........................

    }

Как мне настроить его, чтобы я мог размещать множественный сайты с разные доменные имена на тот же сервер? Где именно в конфигурации мне следует вставить новую конфигурацию для этого нового веб-сайта?

Или я должен создать еще один сайт, доступный / включенный для него? Тем не менее, остается вопрос: как мне правильно объединить 2 или более конфигураций - один и тот же сервер, несколько доменов?

Обычно вы создаете новый файл конфигурации /etc/nginx/sites-available/newserver.conf для нового сервера и связываете его из / etc / nginx / sites-enabled. Чтобы использовать nginx в качестве обратного прокси, вы настраиваете SSL в nginx (ssl_certificate, ...), а в разделе местоположения вы используете proxy_pass для сервера без SSL на localhost. proxy_redirect также необходим, но он изменяет только заголовок Location в случае, если ваш локальный сервер без SSL отправляет его. Вы найдете пример в следующем статья.

Несколько http-серверов на локальном хосте с использованием разных портов

    server {
    server_name mydomain-01.com;

    location / {
      proxy_redirect http://localhost:8001 https://mydomain-01.com;
      ...
    }
}
server {
    server_name mydomain-02.com;

    location / {
      proxy_redirect http://localhost:8002 https://mydomain-02.com;
      ...
    }
}

Один http-сервер на локальном хосте с использованием сайтов на основе имени хоста

server {
    server_name mydomain-01.com;

    location / {
      proxy_redirect http://s1.localdomain:4000 https://mydomain-01.com;
      ...
    }
}
server {
    server_name mydomain-02.com;

    location / {
      proxy_redirect http://s2.localdomain:4000 https://mydomain-02.com;
      ...
    }
}