HTTPS: problema al configurar la certificación SSL

¡Hola!

Estaba intentando habilitar HTTPS para mi sitio web siguiendo este excelente tutorial. Todo iba bien hasta que intenté reconstruir la aplicación, escribiendo ./launcher rebuild app.

Ejecuté discourse-doctor para intentar averiguar qué pasaba y finalmente encontré algo:

==================== FIN DEL REGISTRO DE RECONSTRUCCIÓN ====================
No se pudo reconstruir la aplicación.

Verificando tu nombre de dominio . . .

Conexión a discourse.mydomain.com exitosa.
Probablemente debas eliminar cualquier plugin no estándar y volver a reconstruir.
Intentando reiniciar el contenedor existente . . .

iniciando el contenedor existente
+ /usr/bin/docker start app
Respuesta de error del daemon: el controlador falló al programar la conectividad externa en el endpoint app (some_random_characters): Error al iniciar el proxy de espacio de usuario: listen tcp 0.0.0.0:443: bind: la dirección ya está en uso
Error: no se pudieron iniciar los contenedores: app
No se pudo reiniciar el contenedor.

Nota: He reemplazado una larga cadena de caracteres por some_random_characters y mi nombre de dominio por discourse.mydomain.com.

Esto es bastante extraño, ya que seguí el tutorial al pie de la letra; no tengo idea de cómo solucionarlo.

¡Cualquier ayuda sería muy apreciada!

Que tengas un buen día,

nekodroid

Necesitarías compartir tu app.yml para un diagnóstico más detallado. Asegúrate de eliminar cualquier correo electrónico y contraseña confidencial antes de publicar.

--- 
env: 
  DISCOURSE_DEVELOPER_EMAILS: myemailadress@maildomain.com
  DISCOURSE_HOSTNAME: discourse.mydomain.com
  DISCOURSE_SMTP_ADDRESS: stmp.eu.mailgun.org
  DISCOURSE_SMTP_PASSWORD: smtppasswordwithoutquotes
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@discourse.mydomain.com
  LANG: en_US.UTF-8
  LETSENCRYPT_ACCOUNT_EMAIL: myemailadress@maildomain.com
  UNICORN_WORKERS: 2
expose: 
  - "80:80"
  - "443:443"
hooks: 
  after_code: 
    - 
      exec: 
        cd: $home/plugins
        cmd: 
          - "git clone https://github.com/discourse/docker_manager.git"
params: 
  db_default_text_search_config: pg_catalog.english
  db_shared_buffers: 128MB
run: 
  - 
    exec: "echo \"Inicio de comandos personalizados\""
  - 
    exec: "echo \"Fin de comandos personalizados\""
templates: 
  - templates/postgres.template.yml
  - templates/redis.template.yml
  - templates/web.template.yml
  - templates/web.ratelimited.template.yml
  - templates/web.template.yml
  - templates/web.ssl.template.yml
  - templates/web.letsencrypt.ssl.template.yml
volumes: 
  - 
    volume: 
      guest: /shared
      host: /var/discourse/shared/standalone
  - 
    volume: 
      guest: /var/log
      host: /var/discourse/shared/standalone/log/var-log

Aquí está ~

¿Leíste esta parte?

Parece que hay un problema con tu instalación de Docker.

¿Y por qué reescribiste por completo el orden de las cosas en app.yml?

De hecho, leí esta guía y me detuve en el comando wget -qO- https://get.docker.com/ | sh; recuerdo que decía “uso incorrecto del comando wget”. Así que salté a los siguientes pasos y recuerdo que Docker se instaló automáticamente después de escribir el comando ./discourse-setup.

Esto probablemente sea mi problema…

Voy a reiniciar completamente mi instalación de Discourse desde el principio y luego actualizaré este hilo.

¡Muchas gracias por su ayuda, amigos! :smiley_cat:

¡Sí! Esto se agregó en algún momento. No estoy seguro de cuándo se añadió.

Me alegra que estés en línea.

¡Gracias :uwu:

Por cierto, ¡ahora tengo otro error!

He ejecutado el programa de configuración automática discourse-setup y, cuando se me pidió, añadí una dirección de correo electrónico para el cifrado de Let’s Encrypt. Ahora dice lo siguiente:

Comprobando tu nombre de dominio . . .
ADVERTENCIA:: Parece que este servidor no es accesible en discourse.apertureproject.me:443.

También falla la conexión a http://discourse.apertureproject.me (puerto 80).

Según esto, el error se debe a puertos no abiertos y no tengo ni idea de cómo solucionarlo. Y no lanzaría mi sitio web sin cifrado, así que no desactivaré Let’s Encrypt.

¡EDITO!

He encontrado la documentación de mi proveedor de alojamiento (OVH) sobre cómo abrir puertos. Pero mi gestor de IP está vacío, y según las capturas de pantalla de la documentación, debería estar lleno con varias direcciones IP.

Lo siento, está en francés, pero como puedes ver, la lista de direcciones IP está completamente vacía.

El prueba puede fallar cuando no hay un problema real, para que puedas ver qué sucede.

¿Está configurado el DNS? No. discourse.apertureproject.me no se resuelve. Debes configurar el DNS antes de poder tener https.

¿Qué sistema operativo estás utilizando? ¿Qué plataforma? (Algunas tienen puertos desactivados por defecto)

Si ejecutas nc en la línea de comandos, ¿obienes “comando no encontrado”?

¡Vale, cómo puedo hacer eso?

Sé que se trata de registros DNS, pero ¿qué tipo de valor es, etc.?

Por valor, me refiero a A, AAAA, NS, etc.

Porque ya he añadido lo siguiente en la categoría de servidores DNS:

¡Muchas gracias por tu ayuda también~ :smiley_cat:

necesitas un registro A que apunte a la IP de tu droplet.

Ya he hecho eso.

Otra pregunta, tengo un problema que nunca había tenido antes: ahora muestra la página de bienvenida de nginx cuando escribo apertureproject.me

Antes mostraba el mensaje de instalación exitosa de Discourse

Se abre la página de instalación. Es normal. ¡Apúrate a instalarlo!

Entonces, ¿cómo lo instalo? No lo entiendo. Nunca había visto esta página antes.

Perdona, soy un poco nuevo en esto… es confuso :tired_face:

only follow instructions.

¿Te refieres a la guía de instalación de 30 minutos? Ya la seguí.

No, ya lo hiciste. Ahora estás en el paso de registro de administrador.

Ah… Todavía no lo entiendo x’( ¿Qué me aconsejas que haga?

¿Qué ves cuando navegas por tu dominio?

¡Bienvenido a nginx!

Si ves esta página, el servidor web nginx está instalado y funcionando correctamente. Se requiere una configuración adicional.

Para documentación y soporte en línea, consulta nginx.org.

El soporte comercial está disponible en nginx.com.

Gracias por usar nginx.

no, veo la página de registro. Borra la caché y el historial del navegador e inténtalo de nuevo.