
Ich hoffe, Sie können mir hier weiterhelfen, da ich nicht herausfinden kann, warum das passiert. Ich habe die folgenden 2 Domänen:
- alpha.com
- beta.com
beide verweisen auf die gleiche Server-IP:
- xxxx
Auf diesem Server läuft ein einzelner Nginx. In meiner Firewall habe ich die Ports 80 und 443 an die interne IP dieses Servers weitergeleitet.
- 192.168.1.2
beide Domänen haben eigene Zertifikate.
Hier ist die Serverkonfiguration für beide Domänen:
- alpha.com:http://pastebin.com/u9absNMe
- beta.com:http://pastebin.com/m7dV2cqk
Problem: Das Problem besteht darin, dass der Server mich, wenn ich zu alpha.com gehe, zu http.s://alpha.com weiterleitet und den Inhalt von alpha.com lädt. Bisher funktioniert das einwandfrei. Wenn ich in meinem Browser eine neue Registerkarte öffne und beta.com eingebe, ändert sich die URL in meinem Browser zu http.s://beta.com, lädt aber den Inhalt von alpha.com.
Wie kann ich Nginx anweisen, für jede Domäne basierend auf der im Browser eingegebenen URL das richtige Verzeichnis bereitzustellen und trotzdem https beizubehalten?
Danke.
Antwort1
Beide Ihrer virtuellen Hosts verweisen auf denselben Port Ihrer Loopback-Adresse.
Was hörst du so http://127.0.0.1:2368
?
Sie müssen diesen Dienst so konfigurieren, dass er auf zwei verschiedenen Ports lauscht und jeden Nginx-Vhost auf seinen eigenen, eindeutigen Port weiterleitet.
Antwort2
Schauen Sie sich anDasdieser Beitrag auf Digital Ocean.
Es ist möglich durchServernamenidentifizierung(SNI). Dies ist eine relativ neue Ergänzung zu SSL. Bisher war es nicht möglich, dass zwei (oder mehr) verschiedene Domänennamen dieselbe IP-Adresse für den HTTPS-Zugriff verwendeten.
Antwort3
Eigentlich habe ich meinen eigenen Fehler gefunden. Auf einer der Domänen lief eine Ghost-Blogging-Plattform und auf der anderen WordPress. Ich habe das Problem gelöst, indem ich den folgenden Code aus der Nginx-Konfigurationsdatei für die WordPress-Site entfernt habe.
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;
Zu Ihrer Information: Der von @MyNameIsBoring erwähnte Port 2368 ist der von Ghost verwendete Port, daher habe ich einen Reverse-Proxy eingerichtet, um ihn auf 80 und 443 zu bedienen. Das funktioniert offensichtlich nicht für WordPress. Durch das Entfernen dieses Teils des Codes funktioniert alles wieder wie vorgesehen.