Wenn Ihre IP-Adresse die Standard-Nginx-Begrüßungsseite anzeigt, während Ihre Domain korrekt auf Ihre Website verweist, deutet dies auf ein Konfigurationsproblem des Servers hin. Diese Anleitung führt Sie durch das Diagnostizieren und Beheben der Inkonsistenz zwischen IP-basierter und domainbasierter Zugriff auf Ihren Webserver.

Wie Sie es beheben

  1. Schritt 1: Überprüfen der Nginx-Serverblock-Konfiguration

    Stellen Sie sicher, dass Ihr Nginx-Serverblock (virtueller Host) korrekt konfiguriert ist, um den Inhalt Ihrer Website bereitzustellen. Der Serverblock sollte den richtigen Document Root und Servernamen angeben.

    Öffnen Sie Ihre Nginx-Konfigurationsdatei (normalerweise unter /etc/nginx/sites-available/your-domain) und stellen Sie sicher, dass sie folgende Inhalte enthält:

    server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/your-website;
    index index.html index.php;
    }

    Falls Sie möchten, dass Ihre IP-Adresse auch Ihre Website anstelle der Standard-Nginx-Seite bereitstellt, fügen Sie die IP-Adresse Ihres Servers zur Anweisung server_name hinzu oder erstellen Sie einen Standard-Serverblock.

  2. Schritt 2: Überprüfen der DNS-Einträge

    Bestätigen Sie, dass der A-Eintrag Ihrer Domain auf die richtige IP-Adresse verweist. Melden Sie sich bei der Verwaltungsoberfläche Ihres DNS-Anbieters an und überprüfen Sie, ob der A-Eintrag mit der IP-Adresse Ihres Servers übereinstimmt.

    Sie können die DNS-Auflösung mit folgenden Befehlen überprüfen:

    dig yourdomain.com
    nslookup yourdomain.com
  3. Schritt 3: Warten auf DNS-Propagation

    Falls Sie kürzlich DNS-Änderungen vorgenommen haben, lassen Sie Zeit für die Propagation im Internet. DNS-Änderungen dauern in der Regel 1-24 Stunden, bis sie vollständig propagiert sind, obwohl sie oft innerhalb weniger Stunden abgeschlossen werden.

    Überprüfen Sie den Propagationsstatus mit Online-Werkzeugen wie whatsmydns.net, um zu sehen, wie Ihre DNS-Einträge global erscheinen.

  4. Schritt 4: Browser- und DNS-Cache leeren

    Ihr Browser oder Ihr lokaler DNS-Resolver könnte veraltete Einträge zwischengespeichert haben. Leeren Sie Ihren Browsercache und den DNS-Cache, um sicherzustellen, dass Sie aktuelle Ergebnisse sehen.

    Um den DNS-Cache auf verschiedenen Systemen zu leeren:

    # Windows
    ipconfig /flushdns
    
    # macOS
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    
    # Linux
    sudo systemd-resolve --flush-caches

    Versuchen Sie, Ihre Site in einem Inkognito/Privat-Browsing-Fenster oder einem anderen Browser zu öffnen, um zwischengespeicherte Daten zu umgehen.

  5. Schritt 5: Nginx-Konfiguration neu laden

    Nachdem Sie Konfigurationsänderungen vorgenommen haben, testen und laden Sie Nginx neu, um sie anzuwenden:

    sudo nginx -t
    sudo systemctl reload nginx

    Der erste Befehl testet die Konfiguration auf Syntaxfehler, bevor Änderungen angewendet werden.

Häufige Probleme

  • Standard-Serverblock: Falls kein Serverblock mit der angeforderten Host (IP-Adresse) übereinstimmt, dient Nginx dem ersten aktivierten Site oder dem Standard-Serverblock. Konfigurieren Sie einen spezifischen default_server-Block bei Bedarf.
  • Mehrere Serverblöcke: Stellen Sie sicher, dass nur ein Serverblock an Port 80 für Ihre Domain lauscht, um Konflikte zu vermeiden.
  • Firewall-Regeln: Überprüfen Sie, ob Ihre Firewall HTTP (Port 80) und HTTPS (Port 443)-Verkehr zulässt.
  • Beschränkungen des Hosting-Anbieters: Einige Hosting-Anbieter erfordern spezifische Konfigurationen. Wenden Sie sich an deren Support, falls Probleme nach diesen Schritten weiterhin bestehen.