La instalación de Docker no funciona con el proxy de Cloudflare

He configurado una instancia de Amazon EC2 para alojar Discourse y todo parece ir bien, hasta que introduzco toda mi información en el script de instalación y este se ejecuta, momento en el cual la imagen de Docker de Discourse debería estar funcionando en el puerto 80.

Eso no ocurre.

No tengo idea de por qué. Una cosa que he podido diagnosticar es que, si detengo el contenedor de Docker y luego lo reinicio, al ir a la dirección IP de mi instancia EC2, aparece la pantalla predeterminada del servidor nginx. Pero, a los pocos segundos, eso también deja de funcionar.

Utilicé la instalación de Docker tal como se recomienda.

Cuando navego al nombre de dominio, no sucede nada. Cuando navego a la dirección IP, tampoco sucede nada.

Se está ejecutando en el puerto 80.

Cuando detengo el contenedor de Docker y lo reinicio, como se mencionó anteriormente, puedo acceder a la página web predeterminada de nginx que dice “funciona”. Luego, vuelve a dejar de funcionar después de unos segundos.

¿Qué está ocurriendo aquí? Esto es muy frustrante.

¿Cómo puedo ver los registros de errores de esto?

¿Qué distribución estás ejecutando? Un servidor Ubuntu estándar no incluye nginx, por lo que, a menos que lo hayas instalado manualmente, nunca deberías ver esta página.

Si tienes nginx ejecutándose en el host, esto realmente interferirá con la instalación y hará que se comporte incorrectamente.

Hola Rafael, gracias por tu respuesta.

Creo que en realidad modifiqué mi archivo /etc/hosts para evitar el problema real, que era que el instalador indicaba que los puertos 443 y 80 no eran accesibles con el nombre de host que estoy usando.

De hecho, decidí eliminar la instalación y empezar desde el principio, y esto es lo que está ocurriendo nuevamente. Así que, ¿por qué no olvidamos todo lo que dije arriba y empezamos de cero?

¿Por qué no podría acceder a los puertos 443 y 80?

Tengo mi grupo de seguridad de EC2 configurado para permitir todo el tráfico entrante HTTP y HTTPS, así que estoy un poco confundido aquí.

La instalación estándar no utiliza nginx instalado en el sistema y, si tienes nginx instalado en el host, Discourse no tendrá acceso a los puertos 80 y 443. Al instalar nginx en el sistema, has impedido que Discourse funcione en su configuración estándar.

Esto no tiene nada que ver con Amazon. Se trata simplemente de administración de sistemas Linux.

(Puede ser apropiado tener nginx instalado en el sistema para Setting up offline page, pero eso requiere entender cómo funcionan los puertos en Linux. :smiling_face: Así que no empieces por ahí si la situación actual no tiene sentido para ti!)

1 me gusta

Como dije, olviden eso.

Ya lo resolví.

Resulta que no pueden permitir que Cloudflare proxye su subdominio de Discourse; deben hacer clic en la nube naranja del registro A del subdominio para cambiarlo a gris (solo DNS) y, a continuación, su instalación de Discourse no debería tener problemas para acceder a los puertos adecuados.

¡Gracias!

1 me gusta