2 Domänen mit 2 Zertifikaten, 1 öffentliche IP, 1 Nginx-Server

2 Domänen mit 2 Zertifikaten, 1 öffentliche IP, 1 Nginx-Server

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:

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.

verwandte Informationen