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.
Benjamin_D
(Benjamin Decotte)
24 Octubre, 2021 17:59
2
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:
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:
pfaffman
(Jay Pfaffman)
25 Octubre, 2021 12:25
8
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
IAmGav
(Gavin Perch)
27 Octubre, 2021 22:46
11
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…
IAmGav
(Gavin Perch)
27 Octubre, 2021 22:54
13
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 …
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?
NOTE: @pfaffman says: This page needs to be cleaned up. There is now a new ENV setting that will let you add more hostnames. In your app.yml under your DISCOURSE_HOSTNAME line (it can go many places but that one makes sense), add
DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com
and early reports suggest that you’ll get valid certs for those domains and that accessing https://domain.com will properly redirect you to your DISCOURSE_HOSTNAME without a certificate error.
If you do that an…