Disabe letsencrypt falló y Run discourse-setup tuvo algunas alertas no normales

Intento reconfigurar el certificado SSL; quiero desactivar el certificado gratuito de Let’s Encrypt. Como tengo un certificado comprado, busqué algunas operaciones en Google.

Modifiqué directamente app.yml y confirmé que las claves y los certificados en /var/discourse/shared/standalone/ssl/ y los nombres de los archivos coinciden con el archivo de configuración. Luego, al reconstruir, el resultado fue un fallo: sigue utilizando el certificado de Let’s Encrypt.

nginx muestra algunos errores en el registro:


2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

He confirmado que los archivos existen en el directorio:

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*
-rw-r--r-- 1 root root 7868 Sep 25 16:24 ssl.cer
-rw------- 1 root root 1675 Sep 25 16:24 ssl.key

También encontré algunas discusiones en la siguiente URL:

Removing Let’s Encrypt from installation choice

Cuando ejecuto ./discourse-setup, obtengo la alerta:

./discourse-setup: line 471: [: 1234567890123456: binary operator expected

¿Tienen alguna sugerencia para desactivar Let’s Encrypt o resolver el problema de reconfiguración?

2 Me gusta

Hay algunos temas sobre cómo usar tu propio certificado. Puedes intentar buscar, pero este nicho es Solo configuración avanzada: Permitir SSL / HTTPS para tu configuración de Discourse en Docker

1 me gusta

Hola pfaffman

Gracias por tu respuesta.
Con la información que proporcionaste, ya tengo una referencia y un experimento.
Pero el resultado falló; el servicio de nginx no puede leer el archivo.

El mensaje de error se describe a continuación:

2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
1 me gusta

¡Lo logré! Ahora uso mi propio certificado.

Seguía usando el nombre incorrecto del archivo de credenciales; la configuración de nginx requiere un archivo crt, pero yo seguía instalando y probando un archivo cer. Por eso, resolví el problema de SSL.

Gracias.

3 Me gusta

Algo que destacó en tus primeros mensajes fue:

cannot load certificate "/shared/ssl/ssl.crt"

Y confirmaste que el archivo existe en el directorio:

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*

Observa la diferencia después de la parte /shared/ de las rutas. Nginx esperaba que el archivo ssl.crt estuviera en la carpeta shared/ssl/. Sin embargo, lo encontraste en shared/standalone/. El archivo no estaba en la ruta donde Nginx lo estaba buscando.

@JimPas Gracias por tu respuesta.
Proporcioné información indicando que la ruta no coincide, porque una ruta es la del volumen de Docker y la otra es la ruta real del archivo en el servidor.

Configuración avanzada: solo permitir SSL/HTTPS para tu configuración de Discourse con Docker

volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared

Parece que no coinciden, pero en realidad son lo mismo.
El primer problema ya lo resolví.
La causa raíz en mi caso fue que no noté el formato del certificado.
La configuración establece el formato crt, pero yo siempre usaba archivos en formato cer, por lo que nginx no pudo leer correctamente el archivo del certificado.

2 Me gusta

:man_facepalming:
¡Nunca lo noté! Bueno, ¡que me den una reprimenda!
Me alegra que te hayas dado cuenta y lo hayas solucionado. :+1:

1 me gusta

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