El puerto 443 no es accesible usando nombre de host y el puerto 80 también falla

Hola, es la primera vez que intento autoalojar Discourse. Seguí la guía de instalación oficial de GitHub ejecutando wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash. Todo funcionó bien hasta que llegué a la parte de conectar con el subdominio. Después de completar la verificación, sigo recibiendo los mismos errores: “El puerto 443 de este equipo no parece ser accesible usando el nombre de host: [Subdominio de Discourse]” y “Falla la conexión a [Subdominio de Discourse] puerto 80)”.

Primero, el archivo app.yml ni siquiera existía, así que busqué en línea y lo solucioné. Cambié el puerto a 81 y también cambié el 443 y lo intenté de nuevo, el mismo error como si no hubiera cambiado el puerto en absoluto.

También verifiqué si raspap podría estar causando problemas y vi que estaba usando el puerto 80. Lo cambié a 81 y sigo con el mismo error.

¿Qué estoy haciendo mal? ¿Es porque estoy usando una Raspberry Pi 5? ¿Se supone que debo abrir puertos en la configuración de mi router? Estoy perdido y lamento si esta es una pregunta de novato, probablemente sea porque soy un novato en esto.

Mmm… ¿estás siguiendo:

No, pero definitivamente probaré esto porque estoy seguro de que solucionará el problema que tengo actualmente. Gracias :slight_smile:

Logré solucionar el error del puerto 80, pero todavía no puedo entender por qué el 443 sigue sin funcionar. No estoy seguro de si raspap todavía lo está usando, pero no creo que pueda cambiarlo.

Después de tardar una eternidad en entender lo del túnel de Cloudflare, finalmente logré que se conectara sin errores de puerto 80 y 433 siguiendo esta guía: Install Discourse on a residential internet with Cloudflare Tunnel

Luego hubo una cuenta regresiva de 5 segundos y comenzó a hacer lo suyo hasta que se detuvo. Pensé que tal vez había terminado, así que visité el dominio pero dice que no responde. Localhost tampoco muestra nada en absoluto. ¿Lo estoy iniciando de la manera incorrecta? No cambié ninguna configuración e incluso desinstalé y reinstalé todo sin éxito. Reconstruir también se detiene y doctor discourse dice que la aplicación contenedor de Discourse se está ejecutando. Entonces, ¿cómo accedo a ella en mi red local para ver si está activa en otros dispositivos?

Puedes intentar hacer cURL a la IP de la raspberry y ver si responde.

También puedes verificar el estado del túnel en el panel de control de Cloudflare.

4 Me gusta

Estoy recibiendo curl: (7) Falló la conexión a (IP aquí) puerto 80 después de 0 ms: No se pudo conectar con el servidor

El panel de control de Cloudflare dice que está saludable.

Lo que olvidé mencionar es que también estoy alojando raspap, que es un punto de acceso para la Raspberry y también aloja un panel de control web, pero cambié el puerto para que fuera 81.

1 me gusta

¿Se supone que Discourse es accesible desde el puerto 80 de su PI, pero cURL no puede alcanzarlo desde su otra máquina?

¿Puede compartir su archivo app.yml?

Intenté usar curl en la propia Pi. Tampoco puedo acceder al sitio web desde mi teléfono, pero sí puedo acceder al otro sitio que estoy alojando desde la IP de la Pi con el puerto 81.

Aquí está mi archivo app.yml:

templates:

  - templates/postgres.template.yml

  - templates/redis.template.yml

  - templates/web.template.yml

  - templates/web.ratelimited.template.yml

  - templates/web.ssl.template.yml

  - templates/web.letsencrypt.ssl.template.yml

expose:

  - 80:80

  - 443:443

params:

  db_default_text_search_config: pg_catalog.english

  db_shared_buffers: 4096MB

env:

  LC_ALL: en_US.UTF-8

  LANG: en_US.UTF-8

  LANGUAGE: en_US.UTF-8

  DISCOURSE_HOSTNAME: forum.iambest.net

  DISCOURSE_DEVELOPER_EMAILS: (private email)

  DISCOURSE_SKIP_EMAIL_SETUP: '1'

  UNICORN_WORKERS: 8

volumes:

  - volume:

      host: "/var/discourse/shared/standalone"

      guest: "/shared"

  - volume:

      host: "/var/discourse/shared/standalone/log/var-log"

      guest: "/var/log"

hooks:

  after_code:

    - exec:

        cd: "$home/plugins"

        cmd:

          - git clone https://github.com/discourse/docker_manager.git

run:

  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"

¿No seguiste en absoluto la guía en Install Discourse on a residential internet with Cloudflare Tunnel?

Como que no comentaste los puertos y las plantillas.

2 Me gusta

Oh, sí, tienes razón. Eso es porque mientras estaba solucionando problemas lo eliminé porque no estaba seguro de si esa era la razón por la que no funcionaba antes.

Tampoco estaba seguro de si debía comentar los puertos, así que lo intenté de nuevo sin hacerlo y ahora está funcionando… Un poco porque esto no se ve bien

También deshabilité la cosa de Rocket como decía la guía. El problema ocurre tanto en el dominio como en localhost.

Parece un problema de CSS, ¿y también un problema de cortafuegos (firewall)? ¿Tiene alguna restricción de cortafuegos en su proveedor de servicios de Internet (ISP)?

No he configurado ninguna restricción de firewall ni he tocado el CSS. El router que estoy usando también es muy limitado, así que lamentablemente no puedo cambiar ninguna configuración de firewall.

Además, aparentemente no hay puertos restringidos excepto el Puerto 25 y el 455.

1 me gusta

Parece también que no está usando HTTPS sino HTTP por alguna razón. Como decía la guía, forcé HTTPS en el archivo app.yml, así que no estoy seguro de por qué no puedo acceder al sitio usando HTTPS entonces.

@Falco ¿Se necesita un certificado LetsEncrypt cuando se usan Cloudflare Tunnels? ¿O es automático a través de Cloudflare?