NGINX zeigt die Standardseite an, die Domäne leitet nicht weiter

NGINX zeigt die Standardseite an, die Domäne leitet nicht weiter

Ich versuche derzeit, meine Django-App auf einem Ubuntu 18.04.3-Droplet bereitzustellen. Ich folge diesemLernprogramm.

Ich habe das Tutorial erfolgreich abgeschlossen und meine App wird bereitgestellt, wenn ich die IP-Adresse meines Servers und „www.domainname.com“ besuche. Wenn ich jedoch versuche, die Adresse meiner Domain ohne „www“ @ „domainname.com“ zu besuchen, wird angezeigt

die Verbindung wurde verweigert.

Und wie ich bereits sagte: Wenn ich direkt zur IP-Adresse gehe, wird sie hundertprozentig korrekt angezeigt und stellt die statischen Dateien der App bereit.

Ich gehe davon aus, dass es etwas mit der NGINX-Konfiguration zu tun hat, da ich alle anderen Teile des Tutorials korrekt und ohne Fehler abgeschlossen habe.

Hier ist mein NGINX-Serverblock @ /etc/nginx/sites-available/mysite:

server {
    listen 80;
    server_name 165.227.222.0;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ethan/cfsite/cfsite;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

Ich habe den Standardserverblock vollständig auskommentiert, /etc/nginx/sites-available/defaultda ich gelesen habe, dass er mit symbolisch verknüpft ist /etc/nginx/sites-enabled/.

Wenn ich sudo tail -F /var/log/nginx/error.logdas hier bekomme:

2019/09/26 14:25:58 [alert] 6680#6680: *3 open socket #3 left in connection 4
2019/09/26 14:25:58 [alert] 6680#6680: aborting

Ich gehe davon aus, dass irgendwo ein Problem mit einem Proxy vorliegt oder der Registrar nicht korrekt zu DigitalOcean weiterleitet, da der direkte Zugriff auf die DO-IP die richtigen Ergebnisse mit bereitgestellten statischen Dateien liefert.

Bitte helfen Sie! Es handelt sich um eine einfache Portfolio-Website und ich habe noch nie zuvor einen Server konfiguriert.

Antwort1

Ein paar Punkte:

  • Servernamesollte normalerweise alle Namen enthalten, die Sie für diesen Server verwenden möchten, z. B.:

    server_name example.com www.example.com 165.227.222.0;
    
  • Alle DNS-Einträge für Ihre Domäne sollten einen „nackten“ A-Eintrag haben, der auf die IP Ihres Nginx-Servers verweist:

    Beispiel: BIND

    example.com.    IN A    165.227.222.0    ; A Record for a "base" domain name
    

    Wenn Sie einen Drittanbieter für DNS verwenden, kann die Art und Weise, wie Sie diesen „nackten“ Eintrag angeben, unterschiedlich sein. Bei DNS-Diensten von Digital Ocean scheint dies mit dem @Symbol zu geschehen.

    Beispiel: Digital Ocean „Bare“ A Record

    Digital Ocean „Bare“ A-Rekord – Screenshot

verwandte Informationen