ブートストラップに失敗しました (/tmp/add-cloudflare-ips)

こんにちは!

再構築を試みた際にこのエラーが発生しました。

FAILED
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips がリターンコード #<Process::Status: pid 1484 exit 8> で失敗しました
失敗場所: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec がパラメータ \"/tmp/add-cloudflare-ips\" で失敗しました
9fe8337bb7b8e64abb480bd2527551585759e48df340dc74bb84c67bdf1ee6b2
** FAILED TO BOOTSTRAP ** 上記にスクロールして、以前のエラーメッセージを探してください。複数ある可能性があります。
./discourse-doctor が問題を診断するのに役立つかもしれません。

このエラーは、Cloudflare のプロキシ(オレンジ色の雲)を有効にして無効にしても安全でした :frowning:

「いいね!」 1

/tmp/add-cloudflare-ips コマンドが失敗した、上記の出力を上にスクロールして表示してもらえますか?

CSSのコンパイル完了: 2022-03-22 16:54:37 UTC
I, [2022-03-22T16:54:37.832057 #1]  INFO -- : MaxMindDBをダウンロード中...
JavaScriptの圧縮とソースマップの生成
I, [2022-03-22T16:54:37.874506 #1]  INFO -- : File > /usr/local/bin/discourse  chmod: +x  chown:
I, [2022-03-22T16:54:37.880784 #1]  INFO -- : File > /usr/local/bin/rails  chmod: +x  chown:
I, [2022-03-22T16:54:37.887872 #1]  INFO -- : File > /usr/local/bin/rake  chmod: +x  chown:
I, [2022-03-22T16:54:37.894248 #1]  INFO -- : File > /usr/local/bin/rbtrace  chmod: +x  chown:
I, [2022-03-22T16:54:37.900136 #1]  INFO -- : File > /usr/local/bin/stackprof  chmod: +x  chown:
I, [2022-03-22T16:54:37.907873 #1]  INFO -- : File > /etc/update-motd.d/10-web  chmod: +x  chown:
I, [2022-03-22T16:54:37.912825 #1]  INFO -- : File > /etc/logrotate.d/rails  chmod:   chown:
I, [2022-03-22T16:54:37.917132 #1]  INFO -- : File > /etc/logrotate.d/nginx  chmod:   chown:
I, [2022-03-22T16:54:37.924129 #1]  INFO -- : File > /etc/runit/1.d/00-ensure-links  chmod: +x  chown:
I, [2022-03-22T16:54:37.930083 #1]  INFO -- : File > /etc/runit/1.d/01-cleanup-web-pids  chmod: +x  chown:
I, [2022-03-22T16:54:37.936780 #1]  INFO -- : File > /root/.bash_profile  chmod: 644  chown:
I, [2022-03-22T16:54:37.941664 #1]  INFO -- : File > /usr/local/etc/ImageMagick-7/policy.xml  chmod:   chown:
I, [2022-03-22T16:54:37.949303 #1]  INFO -- : /etc/nginx/conf.d/discourse.conf 内の (?-mix:server.+{) を limit_req_zone $binary_remote_addr zone=flood:10m rate=$reqs_per_secondr/s; limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m; limit_req_status 429; limit_conn_zone $binary_remote_addr zone=connperip:10m; limit_conn_status 429; server { に置き換え中
I, [2022-03-22T16:54:37.952599 #1]  INFO -- : /etc/nginx/conf.d/discourse.conf 内の (?-mix:location @discourse {) を location @discourse { limit_conn connperip $conn_per_ip; limit_req zone=flood burst=$burst_per_second nodelay; limit_req zone=bot burst=$burst_per_minute nodelay; に置き換え中
I, [2022-03-22T16:54:37.960935 #1]  INFO -- : File > /tmp/add-cloudflare-ips  chmod: +x  chown:
I, [2022-03-22T16:54:37.961856 #1]  INFO -- : > /tmp/add-cloudflare-ips
--2022-03-22 16:54:37--  https://www.cloudflare.com/ips-v4/
www.cloudflare.com (www.cloudflare.com) を解決中... 104.16.124.96, 104.16.123.96, 2606:4700::6810:7c60, ...
www.cloudflare.com (www.cloudflare.com)|104.16.124.96|:443 に接続中... 接続しました。
HTTPリクエストを送信しました。応答を待っています... 403 Forbidden
2022-03-22 16:54:38 ERROR 403: Forbidden.

I, [2022-03-22T16:54:38.130543 #1]  INFO -- :
I, [2022-03-22T16:54:38.146489 #1]  INFO -- : 非同期プロセスを終了中
I, [2022-03-22T16:54:38.148916 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42 に INT を送信中
2022-03-22 16:54:38.149 UTC [42] LOG:  高速シャットダウン要求を受信しました
I, [2022-03-22T16:54:38.150508 #1]  INFO -- : exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103 に TERM を送信中
103:signal-handler (1647968078) SIGTERM を受信しました。シャットダウンをスケジュール中...
2022-03-22 16:54:38.155 UTC [42] LOG:  アクティブなトランザクションを中止中
2022-03-22 16:54:38.167 UTC [42] LOG:  バックグラウンドワーカー "logical replication launcher" (PID 51) が終了コード 1 で終了しました
2022-03-22 16:54:38.171 UTC [46] LOG:  シャットダウン中
103:M 22 Mar 2022 16:54:38.203 # ユーザーがシャットダウンを要求しました...
103:M 22 Mar 2022 16:54:38.204 * 終了前に最終RDBスナップショットを保存中。
103:M 22 Mar 2022 16:54:38.213 * DBがディスクに保存されました
103:M 22 Mar 2022 16:54:38.214 # Redis は終了準備ができました。さようなら...
2022-03-22 16:54:38.228 UTC [42] LOG:  データベースシステムはシャットダウンされました


FAILED
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips がリターンコード #<Process::Status: pid 1487 exit 8> で失敗しました
失敗場所: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec がパラメータ "/tmp/add-cloudflare-ips" で失敗しました
3123cbaef859e04ff382e3194e1745b88ee6e4777de9f0f7b45cb6cf2ac6d757
** BOOTSTRAP に失敗しました ** 上記にスクロールして、以前のエラーメッセージを探してください。複数ある場合があります。
./discourse-doctor は問題を診断するのに役立つかもしれません。
root@app:/var/discourse#

CloudflareがあなたのIPからのIPリスト(https://www.cloudflare.com/ips)の取得をブロックしました。再度試すか、理由を尋ねるか、リストを自分で管理することができます。

当面の問題を解決するには、ローカルコンピュータからリストを取得し、Cloudflareから取得するのではなく、テンプレートを適応させてハードコードすることをお勧めします。その後、Cloudflareに連絡してください。

@RyanK これについて何か提案はありますか?私たちのテンプレートはビルドごとにリストを取得しますが、これは問題にならないはずです。もしそうなら、403エラーではなく429レート制限エラーが発生すると予想されます。

「いいね!」 3

質問すみません、私はプロではありません :frowning: このテンプレート cloudflare.template.yml を使用せずにCloudFlareのIPを追加するにはどうすればよいですか?Ubuntu 20.04でDiscourse Dockerを使用しています。

2つの別々のインスタンスで同じ問題が発生しています。IPアドレスも異なります。@GreenOWL、どちらのDCを使用していますか?

「いいね!」 1

Cloudflareによってアクセスがブロックされており、手動で修正するのに十分な知識がない場合は、Cloudflareのフロントエンドを削除することを強くお勧めします。

「いいね!」 4

悪用者にとって地獄の門が開かれます。

「いいね!」 1

お客様のホスティングプロバイダーのデータセンター。

「いいね!」 1

あなたが虐待者を惹きつけるコミュニティを運営しない限り、問題にはならないはずです。また、IPアドレスが漏洩しないように Discourse を運営するのはかなり難しいです。

バリアント2。

手助けできないなら、ユーザーを怒らせるのはやめてください。

実際には、テンプレートアクションは、別のIPからCF IPを取得することによって手動で埋め込むことができます。@Falcoはあなたに確かなアドバイスをしました

はい、vultrも同様です。彼らにチケットを投稿して、すべてのIPで問題が発生していることを伝えるべきだと思います。

YAMLでマウントされたボリュームの場所を確認してください。

URL cloudflare.com/ips-v4/, cloudflare.com/ips-v6/ を、自分のサーバー上のIP(IPリストをホストしている場合)に置き換えることを試みました。

contents: |
        #!/bin/bash -e
        # CloudFlareのIPリストをダウンロード
        wget -q https://www.myserver.com/ips-v4/ -O - > /tmp/cloudflare-ips
        echo >> /tmp/cloudflare-ips
        wget -q https://www.myserver.com/ips-v6/ -O - >> /tmp/cloudflare-ips
        # nginxコマンドに変換し、sedのappendコマンドに含めるためにエスケープする
        CONTENTS=$(< /tmp/cloudflare-ips sed '/^$/d; s/^.*/set_real_ip_from \u0026;/' | tr '\n' '\\' | sed 's/\\\\/\\\\n/g')

この結果は次のとおりです。

I, [2022-03-22T18:49:10.469231 #1]  INFO -- : Downloading MaxMindDB...
Compressing Javascript and Generating Source Maps

I, [2022-03-22T18:49:10.514524 #1]  INFO -- : File > /usr/local/bin/discourse  chmod: +x  chown:
I, [2022-03-22T18:49:10.521050 #1]  INFO -- : File > /usr/local/bin/rails  chmod: +x  chown:
I, [2022-03-22T18:49:10.528727 #1]  INFO -- : File > /usr/local/bin/rake  chmod: +x  chown:
I, [2022-03-22T18:49:10.534748 #1]  INFO -- : File > /usr/local/bin/rbtrace  chmod: +x  chown:
I, [2022-03-22T18:49:10.541288 #1]  INFO -- : File > /usr/local/bin/stackprof  chmod: +x  chown:
I, [2022-03-22T18:49:10.549718 #1]  INFO -- : File > /etc/update-motd.d/10-web  chmod: +x  chown:
I, [2022-03-22T18:49:10.554428 #1]  INFO -- : File > /etc/logrotate.d/rails  chmod:   chown:
I, [2022-03-22T18:49:10.558589 #1]  INFO -- : File > /etc/logrotate.d/nginx  chmod:   chown:
I, [2022-03-22T18:49:10.565929 #1]  INFO -- : File > /etc/runit/1.d/00-ensure-links  chmod: +x  chown:
I, [2022-03-22T18:49:10.571595 #1]  INFO -- : File > /etc/runit/1.d/01-cleanup-web-pids  chmod: +x  chown:
I, [2022-03-22T18:49:10.578243 #1]  INFO -- : File > /root/.bash_profile  chmod: 644  chown:
I, [2022-03-22T18:49:10.583602 #1]  INFO -- : File > /usr/local/etc/ImageMagick-7/policy.xml  chmod:   chown:
I, [2022-03-22T18:49:10.589959 #1]  INFO -- : Replacing (?-mix:server.+{) with limit_req_zone $binary_remote_addr zone=flood:10m rate=$reqs_per_secondr/s;
limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m;
limit_req_status 429;
limit_conn_zone $binary_remote_addr zone=connperip:10m;
limit_conn_status 429;
server {
 in /etc/nginx/conf.d/discourse.conf
I, [2022-03-22T18:49:10.592764 #1]  INFO -- : Replacing (?-mix:location @discourse {) with location @discourse {
  limit_conn connperip $conn_per_ip;
  limit_req zone=flood burst=$burst_per_second nodelay;
  limit_req zone=bot burst=$burst_per_minute nodelay; in /etc/nginx/conf.d/discourse.conf
I, [2022-03-22T18:49:10.601940 #1]  INFO -- : File > /tmp/add-cloudflare-ips  chmod: +x  chown:
I, [2022-03-22T18:49:10.604368 #1]  INFO -- : > /tmp/add-cloudflare-ips
I, [2022-03-22T18:49:10.791696 #1]  INFO -- :
I, [2022-03-22T18:49:10.811681 #1]  INFO -- : Terminating async processes
I, [2022-03-22T18:49:10.813970 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
2022-03-22 18:49:10.815 UTC [42] LOG:  received fast shutdown request
I, [2022-03-22T18:49:10.816541 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1647974950) Received SIGTERM scheduling shutdown...
2022-03-22 18:49:10.820 UTC [42] LOG:  aborting any active transactions
2022-03-22 18:49:10.834 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-03-22 18:49:10.837 UTC [46] LOG:  shutting down
2022-03-22 18:49:10.877 UTC [42] LOG:  database system is shut down
103:M 22 Mar 2022 18:49:10.896 # User requested shutdown...
103:M 22 Mar 2022 18:49:10.897 * Saving the final RDB snapshot before exiting.
103:M 22 Mar 2022 18:49:10.923 * DB saved on disk
103:M 22 Mar 2022 18:49:10.924 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips failed with return #<Process::Status: pid 1487 exit 8>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params "/tmp/add-cloudflare-ips"
7b755fd1f149c4b1bfb984edccf952001a7d97621aba59a111d07784bf39dc78
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

既存の cloudflare.template.ymlcloudflare-static.template.yml にコピーし、以下のように上部を置き換えてください。

run:
  - file:
      path: /tmp/add-cloudflare-ips
      chmod: +x
      contents: |
        #!/bin/bash -e
        cat <<EOF > /tmp/cloudflare-ips
        173.245.48.0/20
        103.21.244.0/22
        103.22.200.0/22
        103.31.4.0/22
        141.101.64.0/18
        108.162.192.0/18
        190.93.240.0/20
        188.114.96.0/20
        197.234.240.0/22
        198.41.128.0/17
        162.158.0.0/15
        104.16.0.0/13
        104.24.0.0/14
        172.64.0.0/13
        131.0.72.0/22
        2400:cb00::/32
        2606:4700::/32
        2803:f800::/32
        2405:b500::/32
        2405:8100::/32
        2a06:98c0::/29
        2c0f:f248::/32
        EOF
        # nginxコマンドに変換し、sed appendコマンドに含めるためにエスケープします
        CONTENTS=$(< /tmp/cloudflare-ips sed '/^$/d; s/^.*/set_real_ip_from &;/' | 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"

その後、アプリコンテナが元のテンプレートではなく -static テンプレートを使用するように変更してください。

永続的にその状態にしておかないでください。

「いいね!」 4

cloudflare.template.ymlで修正できます。

GitHubでCloudFlareのIPリストをホスティングしていますが、/記号を含むリンクを使用しているため、このエラーが発生しています。

        # Download list of CloudFlare ips
        wget https://raw.githubusercontent.com/xxx-cloud/CloudFlare-IPs/main/ips-v4/ -O - > /tmp/cloudflare-ips
        echo >> /tmp/cloudflare-ips
        wget https://raw.githubusercontent.com/xxx-cloud/CloudFlare-IPs/main/ips-v6/ -O - >> /tmp/cloudflare-ips

この/のないURLが必要です。

        # Download list of CloudFlare ips
        wget https://raw.githubusercontent.com/xxx-cloud/CloudFlare-IPs/main/ips-v4 -O - > /tmp/cloudflare-ips
        echo >> /tmp/cloudflare-ips
        wget https://raw.githubusercontent.com/xxx-cloud/CloudFlare-IPs/main/ips-v6 -O - >> /tmp/cloudflare-ips

これで動作します :slight_smile:

CloudFlareのIPアドレスのウェブサイトhttps://www.cloudflare.com/ips-v4https://www.cloudflare.com/ips-v6のミラーを作成して、最新のリストを取得し、ブロックを回避する必要があると思います。

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.