
SeguíLas instrucciones de Cerbot para obtener un certificado HTTPS para NGINX en mi servidor Debian para un dominio, pero HTTPS no se redirige correctamente.
Obtuve lo siguiente etc/nginx/conf.d/app.conf
de la generación automática de Certbot:
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
}
En Chrome, cuando voy ahttps://mnpd.khkm.dev/, Yo obtengo:
mnpd.khkm.dev redirected you too many times.
Try deleting your cookies.
ERR_TOO_MANY_REDIRECTS
encontré estoRespuesta de desbordamiento de pila
donde miré la pestaña "Red" en la consola web y vi que la página se redirige constantemente a https://mnpd.khkm.dev/
. La configuración de NGINX debería escuchar el puerto 443 para HTTPS, entonces, ¿por qué no se carga y se redirige constantemente? (Espero que se cargue la página NGINX predeterminada).
Respuesta1
El puerto 80 se está redirigiendo al 443, que está intentando conectarse al proxy 80, que está redirigiendo...
Eliminar el
location / {
# return 301 https://mnpd.khkm.dev$request_uri;
proxy_pass http://mnpd.khkm.dev;
}
No dejaría que certbot reescribiera mis archivos de configuración. Realmente sólo funciona bien para el caso de uso más simple. recomiendo usarcertbot en modo independiente. Eso hace que la configuración sea su problema y permite que certbot administre los certificados.
Ejecuta cert bot, le indica dónde están los archivos de certificado y agrega esos bits a la configuración de su servidor HTTPS. Cuando se renueva; coloca los archivos nuevos en la misma ubicación para que no tenga que cambiar la configuración nuevamente después de configurar el sitio. certbot actualiza y reinicia nginx.