En producción, ¿tengo que tener dos dominios si quiero usar un load balancer con Discourse?

No tengo mucha experiencia usando balanceadores de carga, pero esta vez realmente necesito usar uno.

Digamos que mi sitio web se llama badthreadcomments.com. Cada vez que un usuario ingresa a mi sitio, su solicitud se envía a mi balanceador de carga configurado en un VPS, este balanceador de carga debe enviar la solicitud a Discourse alojado en el mismo VPS, y luego Discourse responde a mi balanceador de carga, pero espera, la documentación para usar Discourse en producción dice lo siguiente:
“Discourse no funcionará desde una dirección IP; debes poseer un nombre de dominio como example.com para continuar.”

La idea es que el balanceador de carga y Discourse estén alojados en el mismo VPS, por lo que la comunicación entre mi balanceador de carga y Discourse es 100% local, entonces, si la producción requiere un dominio, ¿qué se supone que debo hacer? ¿cuál es el plan aquí? ¿comprar un segundo dominio? si es necesario un segundo dominio, ¿no agregaría más latencia al cliente?

Eso significa que los clientes deben acceder a Discourse a través de un nombre de dominio. Internamente, detrás del último proxy inverso / balanceador de carga que mira al cliente, puedes hacer lo que quieras.

1 me gusta

¿Entonces el orden debe ser así?
badthreadcomments.com > Discourse Docker > Balanceador de carga > Respuesta

¿No puede ser así?
badthreadcomments.com > Balanceador de carga > Discourse Docker > Respuesta

No entiendo a qué te refieres con “Internamente, detrás del último proxy inverso / balanceador de carga que mira el cliente, puedes hacer lo que quieras”.

Discourse no es diferente de cualquier otra aplicación web en ese sentido

graph TD
    Usuario[Usuario]
    BalanceadorCarga[Balanceador de Carga]
    ClusterAplicacionWeb[Cluster de Aplicación Web Discourse, N instancias idénticas]
    Postgres[PostgreSQL]
    Redis[Redis]
    AlmacenamientoObjetos[Almacenamiento de Objetos]

    Usuario -->|Solicitud| BalanceadorCarga
    BalanceadorCarga -->|Distribuye solicitudes| ClusterAplicacionWeb
    ClusterAplicacionWeb -->|Leer/Escribir| Postgres
    ClusterAplicacionWeb -->|Caché| Redis
    ClusterAplicacionWeb -->|Almacena activos estáticos| AlmacenamientoObjetos
2 Me gusta

Te recomendaría echar un vistazo a Nginx Proxy Manager, su funcionamiento, para una comprensión más amplia.