
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.conf
von 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.