2 домена с 2 сертификатами, 1 публичный IP, 1 сервер nginx

2 домена с 2 сертификатами, 1 публичный IP, 1 сервер nginx

Надеюсь, вы сможете мне помочь, потому что я не могу понять, почему это происходит. У меня есть следующие 2 домена:

  • альфа.ком
  • beta.com

они оба указывают на один и тот же IP-адрес сервера:

  • хххх

У меня на этом сервере запущен один nginx. На моем брандмауэре порты 80 и 443 перенаправлены на внутренний IP этого сервера;

  • 192.168.1.2

оба домена имеют свои собственные сертификаты.

Вот конфигурация сервера для обоих доменов:

Проблема: Проблема в том, что когда я захожу на alpha.com, сервер перенаправляет меня на http.s://alpha.com и загружает содержимое alpha.com, пока все отлично. Когда я открываю новую вкладку в браузере и набираю beta.com, URL в браузере меняется на http.s://beta.com, но загружает содержимое alpha.com.

Как мне указать nginx, чтобы он обслуживал правильный каталог для каждого домена на основе URL, введенного в браузере, и при этом сохранял https?

Спасибо.

решение1

Оба ваших виртуальных хоста указывают на один и тот же порт на вашем петлевом адресе.

Что вы слушаете http://127.0.0.1:2368?

Вам необходимо настроить эту службу на прослушивание двух разных портов и проксирование каждого виртуального хоста nginx на его собственный уникальный порт.

решение2

Посмотри наэтотэтот пост на Digital Ocean.

Это возможно черезИдентификация имени сервера(SNI). Это относительно недавнее дополнение к SSL. Раньше было невозможно, чтобы два (или более) разных доменных имени использовали один и тот же IP-адрес для доступа по https.

решение3

На самом деле я нашел свою собственную ошибку, у меня была запущена ghost blogging platform на одном из доменов и wordpress на другом. Я решил проблему, удалив следующий код из файла конфигурации nginx для сайта wordpress.

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HOST $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:2368;

К вашему сведению, порт 2368, упомянутый @MyNameIsBoring, — это порт, который использует ghost, поэтому мне пришлось настроить обратный прокси-сервер для его работы на портах 80 и 443. Очевидно, что это не работает для WordPress. Если удалить эту часть кода, все начнет работать так, как должно.

Связанный контент