Willy
(Willy)
1
ロードバランサーの使用にはあまり詳しくないのですが、今回はどうしても使用する必要があります。
私のウェブサイトが badthreadcomments.com だとしましょう。ユーザーが私のサイトに入力するたびに、そのリクエストは VPS で構成されたロードバランサーに送信されます。このロードバランサーは、同じ VPS でホストされている Discourse にリクエストを送信する必要があります。その後、Discourse はロードバランサーに応答しますが、おっと、本番環境で Discourse を使用するためのドキュメントには次のように書かれています。
「Discourse は IP アドレスからは機能しません。続行するには example.com のようなドメイン名を所有する必要があります。」
ロードバランサーと Discourse は同じ VPS でホストされているため、ロードバランサーと Discourse 間の通信は 100% ローカルです。したがって、本番環境でドメインが必要な場合、どうすればよいですか? ここでの計画は何ですか? 2 つ目のドメインを購入しますか? 2 つ目のドメインが必要な場合、クライアントへのレイテンシーがさらに増加しませんか?
Falco
(Falco)
3
つまり、クライアントはドメイン名経由でDiscourseにアクセスする必要があるということです。内部的には、最後の顧客向けリバースプロキシ/ロードバランサーの後ろで、好きなようにできます。
「いいね!」 1
Willy
(Willy)
4
では、順序は以下のようになりますか?
badthreadcomments.com > Discourse Docker > ロードバランサー > レスポンス
このようにはなりませんか?
badthreadcomments.com > ロードバランサー > Discourse Docker > レスポンス
「内部的には、最後の顧客向けリバースプロキシ/ロードバランサーの後ろであれば、何でもできます。」という言葉の意味がわかりません。
Falco
(Falco)
5
Discourse は、その点において他の Web アプリケーションと変わりません。
graph TD
User[ユーザー]
LoadBalancer[ロードバランサー]
WebAppCluster[Discourse Web アプリケーションクラスター、N個の同一インスタンス]
Postgres[PostgreSQL]
Redis[Redis]
S3[オブジェクトストレージ]
User -->|リクエスト| LoadBalancer
LoadBalancer -->|リクエストを分散| WebAppCluster
WebAppCluster -->|読み書き| Postgres
WebAppCluster -->|キャッシュ| Redis
WebAppCluster -->|静的アセットを保存| S3
「いいね!」 2
Nginx Proxy Managerをチェックしてみることをお勧めします。より深く理解するために、その仕組みについても確認してみてください。