Na produção, preciso ter dois domínios se quiser usar um balanceador de carga com Discourse?

Não sou muito experiente no uso de balanceadores de carga, mas desta vez realmente preciso usá-lo.

Digamos que meu site se chame badthreadcomments.com. Toda vez que um usuário acessa meu site, sua solicitação é enviada para meu balanceador de carga configurado em um VPS, este balanceador de carga deve enviar a solicitação para o Discourse hospedado no mesmo VPS, e então o Discourse responde ao meu balanceador de carga, mas espere, a documentação para usar o Discourse em produção diz o seguinte:
“O Discourse não funcionará a partir de um endereço IP; você deve possuir um nome de domínio como example.com para prosseguir.”

A ideia é que o balanceador de carga e o Discourse estejam hospedados no mesmo VPS, então a comunicação entre meu balanceador de carga e o Discourse é 100% local, então, se a produção requer um domínio, o que devo fazer? qual é o plano aqui? comprar um segundo domínio? se um segundo domínio for necessário, isso não adicionaria mais latência ao cliente?

Isso significa que os clientes devem acessar o Discourse através de um nome de domínio. Internamente, atrás do último proxy reverso / balanceador de carga voltado para o cliente, você pode fazer o que quiser.

1 curtida

Então o pedido tem que ser assim?
badthreadcomments.com > Discourse Docker > Load Balancer > Response

Não pode ser assim?
badthreadcomments.com > Load Balancer > Discourse Docker > Response

Não entendo o que você quer dizer com “Internamente, atrás do último proxy reverso voltado para o cliente / balanceador de carga, você pode fazer o que quiser.”

O Discourse não é diferente de qualquer outra aplicação web nesse aspecto

graph TD
    User[Usuário]
    LoadBalancer[Balanceador de Carga]
    WebAppCluster[Cluster de Aplicações Web Discourse, N instâncias idênticas]
    Postgres[PostgreSQL]
    Redis[Redis]
    S3[Armazenamento de Objetos]

    User -->|Solicitação| LoadBalancer
    LoadBalancer -->|Distribui solicitações| WebAppCluster
    WebAppCluster -->|Leitura/Gravação| Postgres
    WebAppCluster -->|Cache| Redis
    WebAppCluster -->|Armazena ativos estáticos| S3
2 curtidas

Eu recomendaria dar uma olhada no Nginx Proxy Manager, o funcionamento dele, para seu entendimento mais amplo.