Sé que se recomienda ejecutar Discourse en su propio servidor, pero estoy financiando este proyecto de mi propio bolsillo y es básicamente un pasatiempo con pocas perspectivas o intención de monetización a corto plazo, al menos.
Así que estaba pensando, en lugar de comprar otro VPS, en solicitar una segunda dirección IP y ejecutar WordPress en un servidor virtual Apache basado en IP, lo que ayudaría a mantener bajos los costos.
Si estás familiarizado con la configuración de un proxy inverso, no necesitas una segunda dirección IP.
Puedes ejecutar tanto Discourse como WordPress escuchando en sockets Unix (o en puertos más altos) y colocar un software de proxy inverso delante (recomiendo Caddy) para servir en la misma IP tus dominios blog.example.com y forum.example.com.
Dicho esto, si no estás familiarizado con este tipo de configuración, ejecutar cada uno en su propio VPS es mucho más sencillo, ya que solo tienes que seguir la amplia documentación disponible para cada uno.
¿Puede funcionar sin problemas esa configuración que recomiendas?
Hice algo con haproxy cuando estaba intentando instalar Discourse inicialmente. Era bastante novato y sigo siéndolo en asuntos de servidores y cosas así, pero lo hice de todos modos, y aprendí un poco sobre haproxy en el proceso. Si recuerdo correctamente, hubo problemas con SSL y el comportamiento de Discourse fue algo inestable, pero supongo que hice algo mal.
Así que mi pregunta es: ¿es posible realizar la configuración que recomiendas sin inestabilidad y problemas “raros”, sin cantidades extremas de ajuste fino?
Recuerdo que cuando hice mis pruebas seguí la guía de Apache. Lo que no queda claro en el artículo es si SSL debe desactivarse al reconstruir Discourse (y si desactivarlo se logra simplemente sin ingresar una dirección de correo electrónico para Let’s Encrypt), y qué puertos deben “exponerse” en discourse/app.yml (la guía solo muestra cómo debe verse la línea…
“8888:80” # reenvía el puerto del host 8888 al puerto del contenedor 80 (http)
…, pero no dice nada sobre la línea inmediatamente siguiente en el archivo app.yml (la que, por defecto, se ve así…
“443:443” # https
… debería verse).
PD: Mientras revisaba el archivo app.yml para escribir esta publicación, me di cuenta de que las siguientes líneas están presentes allí:
##Descomenta estas dos líneas si deseas agregar Let’s Encrypt (https)
“templates/web.ssl.template.yml”
“templates/web.letsencrypt.ssl.template.yml”
…, sin embargo, por el momento, mi aplicación de Discourse se está ejecutando con SSL habilitado pero con estas líneas descomentadas. ¿Qué tan crítico es comentar estas líneas para mi configuración actual (sin proxy) o para mi configuración deseada (con proxy y apache-wordpress)?
Si no estás familiarizado con los proxies inversos y puedes obtener fácilmente una segunda dirección IP, esa no es una mala solución. Simplemente haz algo como esto:
Gracias, esto funcionó para mí. Mi proveedor de VPS ofrece “IPs flotantes” económicas además de la IP principal configurada en el VPS. Esta solución es muy práctica para mí. Debería estar mejor documentada, ya que es tan sencilla.
No sé si es apropiado mencionar nombres, pero el servidor está en Hetzner Cloud y la función de IP flotante es muy conveniente y tiene un precio adecuado.
Sé que este es un tema antiguo, pero quería agradecerles, esto podría ahorrarme días de trabajo en un problema similar con el que he estado lidiando. ¡¡Gracias por compartir esta información invaluable con todos!!