Muss ich in der Produktion zwei Domains haben, wenn ich einen Load Balancer mit Discourse verwenden möchte?

Ich bin kein Experte für Load Balancer, aber dieses Mal muss ich sie wirklich benutzen.

Nehmen wir an, meine Website heißt badthreadcomments.com. Jedes Mal, wenn ein Benutzer meine Website aufruft, wird seine Anfrage an meinen Load Balancer gesendet, der auf einem VPS konfiguriert ist. Dieser Load Balancer sollte die Anfrage an Discourse weiterleiten, das auf demselben VPS gehostet wird. Dann antwortet Discourse meinem Load Balancer. Aber Moment mal, die Dokumentation für die Verwendung von Discourse in der Produktion besagt Folgendes:
„Discourse funktioniert nicht von einer IP-Adresse aus; Sie müssen einen Domainnamen wie example.com besitzen, um fortzufahren.“

Die Idee ist, dass der Load Balancer und Discourse auf demselben VPS gehostet werden, sodass die Kommunikation zwischen meinem Load Balancer und Discourse zu 100 % lokal ist. Wenn also für die Produktion eine Domain erforderlich ist, was soll ich tun? Was ist der Plan hier? Eine zweite Domain kaufen? Wenn eine zweite Domain notwendig ist, würde das nicht mehr Latenz für den Client hinzufügen?

Das bedeutet, dass die Clients über einen Domainnamen auf Discourse zugreifen müssen. Intern, hinter dem letzten kundenorientierten Reverse-Proxy / Load Balancer, können Sie tun, was Sie wollen.

1 „Gefällt mir“

Muss die Reihenfolge also so sein?
badthreadcomments.com > Discourse Docker > Load Balancer > Response

Kann sie nicht so sein?
badthreadcomments.com > Load Balancer > Discourse Docker > Response

Ich verstehe nicht, was Sie mit „Intern, hinter dem letzten kundenorientierten Reverse-Proxy / Load Balancer können Sie tun, was Sie wollen“ meinen.

Discourse unterscheidet sich in dieser Hinsicht nicht von jeder anderen Webanwendung

graph TD
    User[Benutzer]
    LoadBalancer[Load Balancer]
    WebAppCluster[Discourse Web App Cluster, N identische Instanzen]
    Postgres[PostgreSQL]
    Redis[Redis]
    S3[Object Storage]

    User -->|Anfrage| LoadBalancer
    LoadBalancer -->|Verteilt Anfragen| WebAppCluster
    WebAppCluster -->|Lesen/Schreiben| Postgres
    WebAppCluster -->|Cache| Redis
    WebAppCluster -->|Speichert statische Assets| S3
2 „Gefällt mir“

Ich würde empfehlen, sich Nginx Proxy Manager anzusehen, um dessen Funktionsweise für Ihr allgemeines Verständnis zu verstehen.