Fallo de Discourse al renovar certificado

Esto no es cierto.

  1. Los enlaces que adjunté en el comentario anterior eran de un git blame. Aquí está la última versión del archivo (línea relevante enlazada): discourse_docker/templates/web.ssl.template.yml at 247c71a1e45d32b0b814a8e9d5fdaa4faaf727b9 · discourse/discourse_docker · GitHub
  2. La nueva instalación del sitio de mi amigo fue de hace una semana. La línea 37 de la plantilla anterior dice: return 301 https://${DISCOURSE_HOSTNAME}$request_uri; pero en el contenedor de Discourse Docker, tanto el suyo como el mío /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf dice return 301 https://<tu_sitio_discourse>; Nótese cómo se elimina $request_uri. ¡Algo está causando que eso desaparezca! (No sé qué).
  3. Hice una renovación forzada simulada esta mañana como parte de mi investigación. Falló. Luego cambié /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf. ¡Tuvo éxito!

En realidad, está bien; simplemente editaré manualmente 20-redirect-http-to-https.conf cada vez que actualice Discourse. Para aquellos que encuentren este comentario, el comando a ejecutar es:

cat > /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf << 'EOF'
server {
  listen 80;
  listen [::]:80;

  location ~ /.well-known {
    root /var/www/discourse/public;
    allow all;
  }

  location / {
    return 301 https://<TU_DIRECCION_DEL_FORO>$request_uri;
  }
}
EOF

No estoy totalmente seguro de qué está causando este fallo, pero sé que modificar la configuración anterior lo soluciona. Pero también he modificado las notificaciones para que las renovaciones de letsencrypt ya no fallen silenciosamente, para poder tener alguna advertencia avanzada. ¡Solo pensé que te gustaría saberlo!

4 Me gusta