Después de activar HTTPS Discourse no funciona

Hola,

tras activar las plantillas de Let’s Encrypt y reconstruir Discourse, nada funciona:

NGINX muestra un error críptico:

Lo extraño es que no hay ningún directorio nginx en /ETC.

Estas son las plantillas activas:

Estas son la configuración con la que se ha reconstruido la aplicación:

¿Cuál podría ser la causa de estos problemas?
Creo que el certificado debería emitirse para el nombre de host: discourse.itas-karlsruhe.de

Ya he verificado con el launcher si la aplicación realmente se está ejecutando… Sí, se está ejecutando…

I.

Parece que estás en tu directorio principal (~) cuando ejecutas cd etc.
cd /etc/nginx debería funcionar.

1 me gusta

No, lo he verificado en el directorio correcto:

Si esta es una instalación estándar de Docker, también necesitarás entrar primero a la aplicación.

cd /var/discourse
./launcher enter app

Asumiendo que eso tiene éxito, puedes imprimir la línea 46 del archivo de configuración con sed:

sed -n '46p' /etc/nginx/conf.d/discourse.conf

Con las mismas plantillas que tú y sin modificaciones específicas en ese archivo de configuración, veo esto:

  return 301 https://discourse.softpress.com$request_uri;
1 me gusta

Gracias.
He encontrado lo siguiente:

image

Como puede ver, el campo “Nombre de host de Discourse” está rellenado en app.yml:

Parece que no está logrando sustituir el nombre de host por alguna razón, pero no estoy seguro de por qué podría ser eso. ¿Reconstruiste Discourse ejecutando estos comandos?

cd /var/discourse
./launcher rebuild app

La única diferencia que puedo ver entre lo que tú tienes y lo que tengo yo es el uso de un guion en el nombre de dominio, pero me sorprendería mucho que eso causara un problema.

Sí, así es como he reconstruido la aplicación…

Después de la reconstrucción, parece que todo funciona:

Si has reconstruido varias veces, entonces has alcanzado los límites de tasa de Let’s Encrypt.

No hay nginx en el servidor; está dentro del contenedor de Discourse. Por eso no puedes encontrarlo.

¿Resolviste tu problema reconstruyendo?

Deberías marcar ese mensaje como la solución.

Simplemente he querido decir que no he encontrado ningún error ni nada parecido en el registro. (Ver captura de pantalla)
El proceso de compilación PARECE estar bien…

Ahora he solicitado el dominio final. Reconstruiré la aplicación con él.

Después de eliminar todas las configuraciones específicas de Let’s Encrypt y usar el nombre de host original de la máquina virtual, todo funciona. No sé qué hay de malo en estas configuraciones.

Hola Simon,

Lo he vuelto a reconstruir y he visto que el certificado se emitió con el nombre incorrecto:

¿Es posible que el archivo app.yml esté configurado incorrectamente?

app.txt (4,1 KB)

¿A qué te refieres?

Yo

línea 51

DISCOURSE_HOSTNAME: deinbalkonnetz.de

ese no es tu archivo de configuración. ¿De dónde lo obtuviste?

¿???

Es mi archivo de configuración… Hemos redirigido este dominio a nuestra máquina virtual y estoy intentando configurar Discourse en este servidor…

luego en todas partes de la configuración donde aparece deinbalkonnetz.de, debes cambiarlo.

después de eso, debes volver a compilar la aplicación

¿Qué quieres decir con “en todas partes”?
El nombre de host solo se usa en la línea 51 …

No conozco otros archivos de configuración aparte del app.yml …

¿Quizás esto ayude?

1 me gusta

Gracias, Jammy,

estos son puntos importantes, sin duda.

El problema es que mi nombre de host no se utiliza en absoluto:
DISCOURSE_HOSTNAME: ‘deinbalkonnetz.de

Creo que, en lugar del nombre de la variable, debería usarse el nombre de host real “deinbalkonnetz.de” en el certificado.

¿Puedes agregar http://deinbalkonnetz.de/ como un segundo dominio al certificado de Let’s Encrypt como una posible solución alternativa?