(SSL: error:02001002:system library:fopen:No such file or directory:fopen('/var/dis (…)
Sigo la guía, pero no encuentro nada sobre este error.
cd ssl: No existe el archivo o directorio
Hola @slivo
Esto indica que tu configuración de Let’s Encrypt no generó los certificados la última vez que reconstruiste tu contenedor.
Por supuesto, ¡estoy seguro de que ya lo sabías!
Esta semana tuve una instalación que falló algo así. Tal vez intentes hacer un
./launcher rebuild app
Lo he vuelto a reconstruir. Lo configuré según las directrices. Certificado SSL instalado (/etc/nginx/sites-enabled/discourse.conf), pero tengo un error:
SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE
No puedo iniciar nginx en absoluto.
nginx.service: Control process exited, code=exited status=1
nginx.service: Failed with result 'exit-code'.
Process: 3840 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 25108 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=1/FAILURE)
// Error al iniciar un servidor web de alto rendimiento y un servidor proxy inverso.
Hola @slivo
Gracias por la actualización sobre la configuración de esto.
¿Estás configurando Discourse con la versión estándar de Docker sin un proxy inverso fuera del contenedor?
Sí, y también estoy usando esta guía Run other websites on the same machine as Discourse
Hola @slivo
En ese enlace de arriba, se describe cómo ejecutar Discourse en un contenedor Docker, exponiendo la aplicación mediante un socket UNIX a un proxy inverso.
En ese caso, NO debes habilitar SSL en el archivo yml del contenedor; y DEBES configurar SSL con Let’s Encrypt usando certbot fuera del contenedor, únicamente en el proxy inverso.
La arquitectura general de alto nivel se ve así:
USUARIOS WEB <-- HTTPS --> PROXY INVERSO <-- HTTP --> CONTENEDOR DOCKER
Por favor, publica tu archivo yml, enmascarando con xxxx tus contraseñas y direcciones de correo electrónico; y veamos qué tienes configurado.
Gracias.
Pero ahora no lo entiendo. Luego generé un nuevo certificado usando certbot. Y lo tengo aquí así:
/etc/letsencrypt/live/myadress.com/fullchain.pem
Tu archivo de clave se ha guardado en:
/etc/letsencrypt/live/myadress.com/privkey.pem
¿Tengo que cambiar la dirección en este archivo o en /etc/nginx/sites-enabled/discourse.conf, o lo estoy haciendo completamente mal?
Hola @slivo
Cuando configuras un proxy inverso frente a otra aplicación con una instancia de nginx: debes ser muy específico sobre la ubicación de los archivos de configuración, ¿dentro del contenedor o fuera?
No sé si lo entiendo completamente. Solo quiero tener Discourse detrás de nginx. No tengo otra aplicación en el servidor, pero quiero hacerlo para tener más cobertura desde el exterior.
Hola @slivo
Entiendo tu frustración. Permíteme explicártelo amablemente.
En uno de tus mensajes anteriores, dices
/etc/letsencrypt/live/myadress.com/fullchain.pem
Tu archivo de clave se ha guardado en:
/etc/letsencrypt/live/myadress.com/privkey.pem
No mencionaste si estás dentro del contenedor Docker o fuera de él.
Como sabes, nginx (en tu caso) se ejecuta tanto directamente en el host como dentro de la aplicación (el contenedor Docker).
Cuando publicas:
/etc/letsencrypt/live/myadress.com/fullchain.pem
Tu archivo de clave se ha guardado en:
/etc/letsencrypt/live/myadress.com/privkey.pem
¿Cómo podemos, como externos, saber exactamente a qué te refieres si no publicas la información completa? ¿Es esa configuración dentro o fuera del contenedor? Podemos “adivinar” y “asumir” que te refieres al exterior del contenedor, pero como no proporcionas estos detalles, no podemos estar seguros. Mi experiencia es que la línea más corta entre un problema y una solución es nunca asumir nada y prestar mucha atención a los detalles.
Además, no has publicado tu archivo yml. Tampoco has publicado tus archivos de configuración de nginx fuera del contenedor. Por lo tanto, no podemos “ver” lo que realmente estás haciendo en tu configuración.
Espero que esto te ayude.