En production, dois-je avoir deux domaines si je veux utiliser un load balancer avec Discourse ?

Je ne suis pas très compétent dans l’utilisation des équilibreurs de charge, mais cette fois, j’ai vraiment besoin d’en utiliser un.

Supposons que mon site Web s’appelle badthreadcomments.com. Chaque fois qu’un utilisateur accède à mon site, sa requête est envoyée à mon équilibreur de charge configuré sur un VPS. Cet équilibreur de charge doit envoyer la requête à Discourse hébergé sur le même VPS, puis Discourse répond à mon équilibreur de charge, mais oh attendez, la documentation pour utiliser Discourse en production dit ceci :
« Discourse ne fonctionnera pas à partir d’une adresse IP ; vous devez posséder un nom de domaine tel que example.com pour continuer. »

L’idée est que l’équilibreur de charge et Discourse sont hébergés sur le même VPS, donc la communication entre mon équilibreur de charge et Discourse est 100 % locale. Donc, si la production nécessite un domaine, que suis-je censé faire ? quel est le plan ici ? acheter un deuxième domaine ? si un deuxième domaine est nécessaire, cela n’ajouterait-il pas plus de latence au client ?

Cela signifie que les clients doivent accéder à Discourse via un nom de domaine. En interne, derrière le dernier proxy inverse / équilibreur de charge côté client, vous pouvez faire ce que vous voulez.

1 « J'aime »

Alors l’ordre doit être le suivant ?
badthreadcomments.com > Discourse Docker > Load Balancer > Response

Ça ne peut pas être comme ça ?
badthreadcomments.com > Load Balancer > Discourse Docker > Response

Je ne comprends pas ce que vous entendez par « En interne, derrière le dernier proxy inverse / équilibreur de charge visible par le client, vous pouvez faire ce que vous voulez. »

Discourse n’est pas différent des autres applications web à cet égard

graph TD
    User[Utilisateur]
    LoadBalancer[Équilibreur de charge]
    WebAppCluster[Cluster d'applications web Discourse, N instances identiques]
    Postgres[PostgreSQL]
    Redis[Redis]
    S3[Stockage d'objets]

    User -->|Requête| LoadBalancer
    LoadBalancer -->|Distribue les requêtes| WebAppCluster
    WebAppCluster -->|Lecture/Écriture| Postgres
    WebAppCluster -->|Cache| Redis
    WebAppCluster -->|Stocke les ressources statiques| S3
2 « J'aime »

Je vous recommande de consulter Nginx Proxy Manager, son fonctionnement, pour une meilleure compréhension.