私の認識では、コンテナ自体はすべて「標準」のものであり(つまり、それぞれが nginx を実行していると推測されます)、はい、HAProxy がすべての SSL を処理し、リクエストを各コンテナに誘導しています。
私の設定は、こちらのガイドに従っています:https://meta.discourse.org/t/how-to-set-up-discourse-on-a-server-with-existing-apache-sites/30013(HAProxy 設定の SSL 版はこちらです:https://meta.discourse.org/t/how-to-set-up-discourse-on-a-server-with-existing-apache-sites/30013/18)。
HAProxy 設定には一つ問題がありました:
backend main_apache_sites
server server1 127.0.0.1:8080 cookie A check
cookie JSESSIONID prefix nocache
backend discourse_docker
server server2 127.0.0.1:8888 cookie A check
cookie JSESSIONID prefix nocache
backend discourse_docker_2
server server2 127.0.0.1:8889 cookie A check
cookie JSESSIONID prefix nocache
backend discourse_docker_3
server server2 127.0.0.1:8890 cookie A check
cookie JSESSIONID prefix nocache
backend letsencrypt-backend
server letsencrypt 127.0.0.1:54321
何らかの理由で、すべての Discourse バックエンドの 2 行目に server2 が指定されていました。昨日、これらを server2、server3 などに変更しましたが、変化はありません(以前はこの状態で正常に動作していました)。
さらに手がかりを提供する可能性のある特定のログファイルはありますか?Docker ログファイルなどでしょうか?
はい、それらはコメントアウトされています:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Lets Encrypt (https) を追加したい場合は、以下の 2 行のコメントを外してください
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"