NGINX HTTPS leitet nicht richtig um

NGINX HTTPS leitet nicht richtig um

ich folgteCerbots Anweisungen um ein HTTPS-Zertifikat für NGINX auf meinem Debian-Server für eine Domäne zu erhalten, aber das HTTPS leitet nicht richtig um.

Ich habe Folgendes etc/nginx/conf.d/app.confvon der automatischen Generierung von Certbot erhalten:

server {
    server_name mnpd.khkm.dev www.mnpd.khkm.dev;
    # listen 8080;
    server_tokens off;
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }
    location / {
        # return 301 https://mnpd.khkm.dev$request_uri;
        proxy_pass http://mnpd.khkm.dev;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mnpd.khkm.dev/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mnpd.khkm.dev/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = mnpd.khkm.dev) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    listen [::]:80;
    server_name mnpd.khkm.dev www.mnpd.khkm.dev;
    return 404; # managed by Certbot
}

Wenn ich in Chrome zuhttps://mnpd.khkm.dev/, Ich bekomme:

mnpd.khkm.dev redirected you too many times.
Try deleting your cookies.
ERR_TOO_MANY_REDIRECTS

ich habe das gefundenStack Overflow-Antwort wo ich mir die Registerkarte „Netzwerk“ in der Webkonsole angesehen und gesehen habe, dass die Seite ständig umgeleitet wird https://mnpd.khkm.dev/. Die NGINX-Konfiguration sollte auf Port 443 für HTTPS lauschen. Warum wird sie also nicht geladen und ständig umgeleitet? (Ich gehe davon aus, dass die Standard-NGINX-Seite geladen wird.)

Antwort1

Der Port 80 wird auf 443 umgeleitet. Dieser versucht, den Proxy 80 zu verwenden, der wiederum umleitet …

Entferne das

    location / {
        # return 301 https://mnpd.khkm.dev$request_uri;
        proxy_pass http://mnpd.khkm.dev;
    }

Ich würde certbot nicht meine Konfigurationsdateien umschreiben lassen. Es funktioniert wirklich nur für den einfachsten Anwendungsfall. Ich empfehle die Verwendung voncertbot im Standalone-Modus. Dadurch wird die Konfiguration zu Ihrem Problem und Certbot verwaltet die Zertifikate.

Sie führen Cert Bot aus, es sagt Ihnen, wo sich die Zertifikatsdateien befinden, und Sie fügen diese Bits zu Ihrer HTTPS-Serverkonfiguration hinzu. Bei der Erneuerung werden die neuen Dateien am selben Speicherort abgelegt, sodass Sie die Konfiguration nach der Einrichtung der Site nicht erneut ändern müssen. Cert Bot aktualisieren und Nginx neu starten.

verwandte Informationen