biologist
(Torsten)
1
昨日、Apache リバースプロキシの背後に Discourse をインストールしました。Apache は主にセルフサービス GUI で管理されており、Let’s Encrypt 証明書の有効化やプロキシ設定もこの GUI から行えます。さらに、この GUI は Let’s Encrypt 証明書の有効期限管理も自動で行ってくれます。そのため、Discourse を SSL/LE テンプレートなしで設定したわけではないことを確認しておきます。内部ではポート 10080 を使用しています。現時点では問題なく動作しています。
しかし、Discourse の設定で HTTPS をグローバルに有効化するオプションがあることに気づきました。これを有効にしました。動作は問題なさそうですが、ログインボタンがまだ HTTP で表示されていることに気づきました(HTTPS ではなく)。実際、Discourse は鍵の解錠されたアイコンでこれを示しています。
そこで質問です。Discourse に HTTPS を使用させるためには、何をすべきでしょうか?
ご教示のほど、よろしくお願いいたします。
simon
2
まだ行っていない場合は、Discourse の「force https」サイト設定を有効にしてみてください。この設定は、サイト設定ページの「セキュリティ」セクションにあります。
ご回答ありがとうございます。
このオプションはすでに有効になっています。したがって、他の何かの問題のようです。
「いいね!」 1
RGJ
(Richard - Communiteq)
4
リバースプロキシの設定を共有していただけませんか?
(そして、答えは(再び…)X-Forwarded-Proto になると思います。)
「いいね!」 3
もちろんです 
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port 80
ProxyPreserveHost Off
ProxyPassMatch "^/((?!(?:errors|\\.well-known)/acme-challenge/).*)" "http://localhost:10080/$1" retry=30 timeout=7200
ProxyPassReverse "/" "http://localhost:10080/"
問題は解決しました。動作しています。
どうやら、アンロックのシンボルが表示されていても、実際にはアンロックされていないようです。