コミット b4a3389 更新後にユーザーのIPを取得する方法

こんにちは @CLOUD_PHT - Meta へようこそ :slight_smile:

同じマシン構成で複数のウェブサイト(WordPress と Discourse など)を運営されていると推測します。

問題は、Docker の内部ネットワーク(ポートマッピング)を介してトラフィックをルーティングしていることです。これにより、すべての着信リクエストが Docker ゲートウェイ IP(172.17.0.1)として認識されます。内部の Nginx が 172.17.0.1 を Cloudflare の IP として認識しないため、セキュリティ上の理由から CF-Connecting-IP ヘッダーが破棄されます。

この問題を解決するには、Unix ソケットを使用するように設定を変更する必要があります。これにより、外部の Nginx が Docker のネットワークが IP アドレスを壊すことなく、トラフィック(およびヘッダー)を Discourse に直接渡すことができます。

この公式ガイドに従い、再構築する際に app.yml ファイルに cloudflare.template.yml を保持するようにしてください。