Configuración de Discourse en AWS EC2 no funciona con DNS IPv4 predeterminado

Hola comunidad de Discourse,

Soy nuevo en Discourse y solo estoy probando la configuración de Discourse en una instancia de AWS EC2 siguiendo discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub. Sin embargo, no logré iniciarla. Este es el problema que tengo:

Antes de comprar todos los recursos, quería probar el sitio web sin un nombre de dominio, así que usé el DNS IPv4 público de esa instancia como nombre de host de Discourse y para acceder al sitio, por ejemplo, https://ec2_ip_address.us-west-1.compute.amazonaws.com/.
Abrí el puerto 80 y 443 en la instancia mediante el grupo de seguridad y verifiqué que estos puertos son accesibles desde la red pública (probé con un servidor simple en Python).
Pero obtengo “Este sitio no se puede alcanzar” en el navegador después de iniciar el servidor de Discourse con ./discourse-setup o ./launcher rebuild app.

Probé el diagnóstico de Discourse y devuelve:

Versión de Discourse en ec2-ip_address.us-west-1.compute.amazonaws.com: NO ENCONTRADA
Versión de Discourse en localhost: NO ENCONTRADA

No estoy 100% seguro de si la configuración del correo electrónico funciona, pero asumo que la accesibilidad del sitio es un problema separado del correo electrónico.

¿Alguien puede indicarme qué falta o cómo puedo depurar este problema?

¡Muchas gracias!

3 Me gusta

¡Bienvenido a la comunidad Meta Discourse :slightly_smiling_face:

Puede que no tenga relación, pero estoy notando una inconsistencia aquí:

2 Me gusta

Hola Jonathan,

Gracias por revisar. Omití la dirección IP aquí; la URL debería ser correcta.

3 Me gusta

El estado Not found en tu nombre de host se debe muy probablemente a que el sitio aún no está en línea. Tendrás que compartir más información de tu registro de discourse-doctor.

¿Se completa correctamente la reconstrucción o el arranque (bootstrap)?

Si la instancia de EC2 tiene recursos insuficientes, es posible que Discourse tarde un poco más en responder (unos 3-5 minutos en algunos casos).

Lo que debes verificar es que, una vez completada la compilación con éxito, al ejecutar docker ps confirmes que el contenedor está en ejecución y escuchando en los puertos 80 y 443. Una vez verificado esto, el problema reside en el grupo de seguridad de AWS y no en la instalación en sí.

3 Me gusta

¿Puedes verificar que puedes acceder al servidor mediante el nombre de host?

2 Me gusta

El estado Not found en tu nombre de host se debe muy probablemente a que el sitio aún no está en línea. Tendrás que compartir más información del registro de discourse-doctor.

De acuerdo. Prestaré atención al registro de compilación para ver si hay algún problema. ¿Cómo puedo depurar si hay un error en el registro?

¿Puedes verificar que puedes acceder al servidor a través del nombre de host?

Sí, verifiqué que el nombre de host y los puertos son accesibles desde el navegador, tanto el 80 como el 443. Creé un servidor HTTP en Python que simplemente sirve algunos archivos y puedo ver la respuesta en el navegador.

2 Me gusta

¿Ves algo en los registros? Algo como

/var/discourse/shared/standalone/logs/var-log/nginx/error.log

Debería haber un problema con Let’s Encrypt y AWS. Incluso si fuera tu propio dominio, si reconstruiste varias veces, podrías haber agotado tu cuota.

2 Me gusta

Qué curioso que lo menciones. :slightly_smiling_face: De hecho, eso fue lo que me atrajo inicialmente a este tema. Ayudo a muchas personas en https://community.letsencrypt.org y pensé que este tema podría estar dentro de mis capacidades para ayudar. Para aplicar cualquiera de mis herramientas, necesitaría conocer los nombres de dominio reales.

2 Me gusta

@ys2843

  • ¿Podrías actualizar lo que pasó después? Estoy atascado con exactamente el mismo problema.
1 me gusta

¿Estás intentando usar un nombre de dominio de AWS? No lo hagas. Usa el tuyo propio.

¿Has revisado los registros?

Si has realizado varias reconstrucciones, también alcanzarás los límites de tasa de Let’s Encrypt.

1 me gusta

@pfaffman

Antecedentes: Configurando un foro minimalista de Discourse como prueba de concepto en AWS, intentando minimizar los costos.

Puedes registrar un nombre de dominio por 3 dólares en GoDaddy. Si tu tiempo vale más de 3 dólares por hora, deberías registrar un dominio. Y si no tienes 3 dólares para registrar un dominio, tampoco puedes permitirte un EC2.

2 Me gusta

@pfaffman

  • Estoy de acuerdo contigo en la perspectiva del problema de precios.
  • ¿Desde el punto de vista técnico, existe alguna solución alternativa?

¡Claro! Busca a otra persona que utilice un nombre de dominio .amazonaws.com con Let’s Encrypt y espera una semana. Si no deseas registrar un dominio, esa sería la siguiente opción que probaría.