SSL LetsEncrypt renewal no funciona (por proxy inverso externo adicional)

El certificado de mi instancia de Discourse expiró hoy y muestra un error en el navegador. Intenté renovar manualmente siguiendo estas instrucciones:

El proceso indicó que el certificado se renovó; puedo verlo en la carpeta /shared/letsencrypt y la renovación se realizó correctamente. Reinicié nginx dentro de Docker y también reconstruí la instancia, pero parece que sigue enviando el certificado antiguo.

Verifiqué el dominio en varios sitios web y todos indican que el certificado está expirado, así que no es un problema local.

¿Me estoy perdiendo algo?

Acabo de seguir las mismas instrucciones hace 15 días.

cd /var/discourse
./launcher enter app
"/shared/letsencrypt"/acme.sh --cron --home "/shared/letsencrypt" --force
exit

Lo primero que aprendí es que si ves el certificado con Chrome, puede mostrar que es inválido cuando en realidad es válido. Consulta: Error de Chrome / Chromium: Los certificados SSL muestran fechas incorrectas (caducadas)

Luego intenté

me@site:/var/discourse$ sudo ./launcher rebuild app

lo cual no funcionó y finalmente

sudo reboot

El sitio luego funcionó como se esperaba.


Aunque noto el paso sobre rebuild, no estoy seguro de si es necesario, pero fue un paso que seguí en el camino.

4 Me gusta

Después de intentar durante horas, y justo después de publicar esto, me di cuenta de que, como estoy usando un despliegue multi-sitio con un proxy inverso nginx, también tenía que reiniciar el servidor nginx externo, y comenzó a funcionar instantáneamente. Voy a marcar esto como la respuesta, por si alguien se encuentra en esta situación.

1 me gusta

Creo que el sudo reboot final puede haber funcionado para ti porque reinició nginx, que es lo que publiqué en mi solución anterior.

1 me gusta

Un par de notas al respecto:

  • en la situación referida, el navegador realmente no lo muestra como inválido en la barra de direcciones
  • dependiendo del sistema operativo, puede que no se queje de la fecha del certificado si lo revisas

¿Encontraste la causa raíz de por qué el certificado no se estaba renovando automáticamente?

En el sitio, noté que era porque no estaba en modo de producción, por lo que todos los correos electrónicos están suspendidos, incluidos los que renovarían el certificado.

image

La razón por la que el correo electrónico está suspendido es que forma parte del proceso de restauración de la base de datos; en este caso específico, se restauró desde una instancia diferente de Discourse.

El correo electrónico está deshabilitado para evitar que dos sitios envíen los mismos correos electrónicos.

la única forma en que el correo electrónico está involucrado en el proceso en absoluto es que LE podría enviarte una advertencia si tu certificado está por vencer y no lo has renovado

1 me gusta

Vale. Gracias. Ahora tengo que encontrar la causa raíz de por qué el certificado no se renovó automáticamente.

¿Hay alguna razón por la que un certificado no se renueve?

Generalmente, las personalizaciones son las que rompen el proceso de forma inesperada. Te sugiero abrir un nuevo tema mostrando tus detalles y lo que has hecho.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.