インストールガイドに従わない場合、サイトはIPアドレスでアクセス可能

クラウドインストールに記載されていない手順を踏んでいる場合、それは定義上「バニラインストール」ではありません。

Cloudflare テンプレートは、リダイレクトに明らかな干渉を行いません。

run:
  - file:
      path: /tmp/add-cloudflare-ips
      chmod: +x
      contents: |
        #!/bin/bash -e
        # CloudFlare の IP リストをダウンロード
        wget https://www.cloudflare.com/ips-v4/ -O - > /tmp/cloudflare-ips
        wget https://www.cloudflare.com/ips-v6/ -O - >> /tmp/cloudflare-ips
        # nginx コマンドに変換し、sed の追加コマンドに含めるためにエスケープ
        CONTENTS=$(</tmp/cloudflare-ips sed 's/^/set_real_ip_from /' | sed 's/$/;/' | tr '\n' '\\' | sed 's/\\/\\n/g')
        
        echo CloudFlare IPs:
        echo $(echo | sed "/^/a $CONTENTS")
        # discourse.conf に挿入
        sed -i "/sendfile on;/a $CONTENTS\nreal_ip_header CF-Connecting-IP;" /etc/nginx/conf.d/discourse.conf
        # クリーンアップ
        rm /tmp/cloudflare-ips

  - exec: "/tmp/add-cloudflare-ips"
  - exec: "rm /tmp/add-cloudflare-ips"

これは IP 範囲を取得し、一時的に cloudflare-ips として保存した後、CF-Connecting-IP のサポートを追加します。

「いいね!」 2