Mam nadzieję, że możesz mi pomóc tutaj, ponieważ nie mogę zrozumieć, dlaczego tak się dzieje. Mam następujące 2 domeny:
- alpha.com
- beta.com
oba wskazują na ten sam adres IP serwera:
- x.x.x.x
Mam jeden nginx działający na tym serwerze. Na mojej zaporze mam porty 80 i 443 przekazane do wewnętrznego adresu IP tego serwera;
- 192.168.1.2
obie domeny mają własne certyfikaty.
Oto konfiguracja serwera dla obu tych domen:
- alpha.com: http://pastebin.com/u9absNMe
- beta.com: http://pastebin.com/m7dV2cqk
Problem: Problem polega na tym, że kiedy idę do alpha.com, serwer przekierowuje mnie do http.s: //alpha.com i ładuje zawartość alpha.com, jak na razie jest świetny. Kiedy otwieram nową kartę w przeglądarce i wpisuję beta.com, adres URL mojej przeglądarki zmienia się na http: //beta.com, ale ładuje zawartość alpha.com.
W jaki sposób powiedziałbym nginxowi, aby na serwerze umieścił odpowiedni katalog dla każdej domeny na podstawie tego, który adres URL został wpisany w przeglądarce i nadal zachowuję https?
Dzięki.
Spójrz na to ten post na Digital Ocean.
Jest to możliwe przez Identyfikacja nazwy serwera (SNI). Jest to względny niedawny dodatek do SSL. Wcześniej nie było możliwe, aby dwa (lub więcej) różnych nazw domen używały tego samego adresu IP do dostępu https.
źródło
Właściwie znalazłem swój własny błąd, miałem platformę blogowania duchów działającą na jednej z domen i wordpress na drugiej. Rozwiązałem problem, usuwając następujący kod z pliku konfiguracyjnego nginx dla witryny 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;
FYI, port 2368, o którym wspomniano @MyNameIsBoring, jest używany przez port, więc ustawiłem odwrotne proxy na serwer 80 i 443. Oczywiście to nie działa dla wordpress, usuwając tę część kodu, wszystko zaczyna działać jako oni powinni.
źródło
location
zablokuj, jeśli stamtąd nie było niczego.