Estoy intentando configurar Discourse con Docker en mi servidor existente. No tengo ejecutándose ningún otro contenedor de Docker.
Mi servidor ejecuta Apache (sitios web de WordPress) y algunos otros servicios web.
No logro entender cómo enrutar mi subdominio ‘forum.rebelscience.club’ hacia mi contenedor de Docker.
Cuando se me pregunta esto:
Hostname for your Discourse? [discourse.example.com]: forum.rebelscience.club
Esto es lo que veo:
Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: forum.rebelscience.club.
WARNING: Connection to http://forum.rebelscience.club (port 80) also fails.
This suggests that forum.rebelscience.club resolves to some IP address that does not reach this
machine where you are installing discourse.
The first thing to do is confirm that forum.rebelscience.club resolves to the IP address of this server.
You usually do this at the same place you purchased the domain.
If you are sure that the IP address resolves correctly, it could be a firewall issue.
A web search for "open ports YOUR CLOUD SERVICE" might help.
This tool is designed only for the most standard installations. If you cannot resolve
the issue above, you will need to edit containers/app.yml yourself and then type
./launcher rebuild app
No estoy seguro de cómo configurar esto. Los puertos 80/443 están disponibles, pero están apuntando a mi dominio principal, no a mi subdominio.
Este tema se ha discutido ampliamente aquí en meta; puedes buscar en meta “apache reverse proxy” y encontrar varios temas exhaustivos y muy detallados.
En resumen, necesitas configurar el host virtual de tu servidor Apache para que funcione como un proxy inverso hacia Discourse.
Las configuraciones exactas de Apache2 para esta configuración han sido publicadas varias veces en meta.
Lo siento, debería haber mencionado que he consultado y probado varias soluciones de este foro y de Digital Ocean también. Pero aún no logro que funcione. Nunca había configurado Docker antes.
Déjame compartir mis configuraciones actuales:
/etc/hosts:
127.0.0.1 forum.rebelscience.club
El archivo de hosts y el registro DNS funcionan, ya que tenía phpBB ejecutándose allí hoy. Ahora estoy intentando apuntarlo a un contenedor Docker con Discourse.
Creo que deberías tener un virtualhost para el puerto 443; dicho esto, el error en el puerto 80 es extraño. Quizás te falte algo (¿un CNAME?) en tu DNS.
En el caso (configuración de ejemplo) anterior, solo debes exponer el puerto 8081 en Docker (y no los puertos 80 ni 443).
Los puertos 80 y 443 son expuestos por el proxy inverso fuera del contenedor, y ese tráfico se redirige al puerto 8081 (en tu ejemplo anterior), el puerto que has expuesto dentro (mapeado al 80 dentro).
Esto solo funcionará si has mapeado el puerto 80 dentro del contenedor al puerto 8081 (expuesto al host).
expose:
- "8081:80" # http
Espero que esto ayude.
PD: @rebelCoder, tu configuración de apache2 en el lado de SSL carece de mucha información de configuración que necesitas.