
Надеюсь, вы сможете мне помочь, потому что я не могу понять, почему это происходит. У меня есть следующие 2 домена:
- альфа.ком
- beta.com
они оба указывают на один и тот же IP-адрес сервера:
- хххх
У меня на этом сервере запущен один nginx. На моем брандмауэре порты 80 и 443 перенаправлены на внутренний IP этого сервера;
- 192.168.1.2
оба домена имеют свои собственные сертификаты.
Вот конфигурация сервера для обоих доменов:
- alpha.com:http://pastebin.com/u9absNMe
- beta.com:http://pastebin.com/m7dV2cqk
Проблема: Проблема в том, что когда я захожу на 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. Если удалить эту часть кода, все начнет работать так, как должно.