Run other websites on the same machine as Discourse

サブドメインではなくサブフォルダ(パスプレフィックス)からDiscourseを提供するようにしたいということですか?(https://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507)

「いいね!」 1

クール。探していたものと同じようです。ありがとうございます。

「いいね!」 1

どうすればここに入れますか?この部分をどうやって見つけるのですか?同じ行が2セットあります!どちらを編集または変更すればよいですか?

ここから編集:

どうでもいいよ、君!時間をありがとう!自分で解決したよ :upside_down_face:

ところで、君の方法はあまりうまくいっていない

「いいね!」 2

また、少なくともディスコース3で環境変数を設定する必要があります。

app.ymlを開き、環境変数を探して入力してください。

ありがとうございます。
まず、Discourseスタンドアロンをセットアップし、httpで正しい登録ページが表示されました。次に、Let’s Encryptにアクセスできないテストラボで使用するため、証明書なしでnginxをインストールしました。登録ページは表示されますが、スタイルがありません。ホストのnginxログで404エラーが表示されます。解決策はありますか?
ありがとうございます。
解決しました:デフォルトで「try_files $uri $uri/ =404;」をコメントアウトする必要がありました。これは、Debian 11およびnginx 18.0-6ではデフォルトです。

「いいね!」 1

エラー。これを設定した後、Chromeブラウザにエラーが表示されます。

Mixed Content: The page at '\u003cURL\u003e' was loaded over HTTPS, but requested an insecure font '\u003cURL\u003e'. This request has been blocked; the content must be served over HTTPS.

「いいね!」 1

force_https をオンにしましたか?

「いいね!」 1

はい、certbot --nginx の手順で実行しました。何度も試しましたが、うまくいきませんでした。

ディスコース設定の force_https を設定する必要があります。nginx ではなく。環境変数で行うのが最善ですが、管理/設定に入ることができる場合は、ux で行うこともできます。

「いいね!」 2

上記の手順に従ってnginxを正常に実行しましたが、URLにアクセスした際にERR_TOO_MANY_REDIRECTSエラーが発生しました。



原因を理解するのを手伝っていただけますか?

bind() to unix:/shared/nginx.http.sock failed (95: Operation not supported)

混乱しています。既存のウェブサーバーにインストールしているため、/discourse-setup を実行できません。しかし、/discourse-setup を実行しないと作成されない .yml ファイルを編集するように指示されています。したがって、app.yml が存在しない場合、どのように編集すればよいのでしょうか?

standalone.yml を samples ディレクトリからコピーします。

この投稿を20回読んだ後、そのセクションの最後の行に「追加済み」と書かれていることに気づき、自分が馬鹿だと感じました。@riking さんに、イントロを次のように変更していただけないでしょうか。

「いいね!」 1

提案された変更を加えました(そして、あなたの信頼レベルでは編集できないと思われるウィキに関する投稿を削除しました。すみませんでした)。微妙な変更ですが、他の人の助けになると思います。ありがとうございます。

「いいね!」 2

セットアップが少し異なります。リバースプロキシはホストマシンではなく、別のDockerコンテナで実行しています。
現在、それらを接続するためにDockerネットワークを使用しており、DiscourseをUnixソケット経由で公開していません。

正常に動作しますが、重大な欠点があります。レート制限はリバースプロキシのIPしか認識しないため、誤ってリバースプロキシをレート制限してしまいます。

いくつかの選択肢があります。

  1. レート制限テンプレートを削除する。(あまり良い選択肢ではありません…)
  2. Nginxをリバースプロキシからset_real_ip_fromするように設定する独自のテンプレートを作成する。
  3. レート制限テンプレートを$binary_remote_addrの代わりに$http_x_forwarded_forを使用するように調整する。
  4. リバースプロキシコンテナでUnixソケットを公開する。(可能かどうか、どのように可能かはわかりません。)

理想的には、独自のテンプレートを作成したり、既存のテンプレートを変更したりせず、デフォルトのセットアップにできるだけ近い(つまり、オプション4)方法を使用したいです。

何かアイデアはありますか?メリット/デメリット?ご意見をお聞かせください。

ずっと前にこの問題が発生したとのことですが、今夜私も同じ問題に遭遇し、解決策を見つけました。\n\n私の問題は、レジストラがSSL/TLS設定を「Flexible」に設定したプロキシとして機能していたことでした。これを「Full」に切り替えたところ、問題はすぐに解決しました。20回近く再構築する前に気づいていればよかったのですが。\n\n

「いいね!」 1

2つのコンテナでのインストールとはどういう意味ですか?よろしくお願いします。

「いいね!」 1

コンテナはDockerの概念であり、オペレーティングシステムとは独立した設定を持つことができる、効果的な分離された処理ユニットです。

通常、Discourseとそのすべての依存関係(標準インストールの場合)は単一のコンテナで実行されます。

他のサービスを別のコンテナで実行できる、より高度なインストールや、Discourseが2つに分割されている(1つはデータベース用、1つはWeb用)「2コンテナインストール」もあります。

注:Discourseは、バニラDockerで使用されているものとは少し異なる、独自のカスタムランチャーを使用しています。

「いいね!」 5

質問があります。リバースプロキシが別のDockerコンテナにある場合、それでもUnixソケットを使用できますか?