فشل في bootstrap (/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'
فشل التنفيذ مع المعلمات "/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 -- : الملف > /usr/local/bin/discourse  chmod: +x  chown:
I, [2022-03-22T16:54:37.880784 #1]  INFO -- : الملف > /usr/local/bin/rails  chmod: +x  chown:
I, [2022-03-22T16:54:37.887872 #1]  INFO -- : الملف > /usr/local/bin/rake  chmod: +x  chown:
I, [2022-03-22T16:54:37.894248 #1]  INFO -- : الملف > /usr/local/bin/rbtrace  chmod: +x  chown:
I, [2022-03-22T16:54:37.900136 #1]  INFO -- : الملف > /usr/local/bin/stackprof  chmod: +x  chown:
I, [2022-03-22T16:54:37.907873 #1]  INFO -- : الملف > /etc/update-motd.d/10-web  chmod: +x  chown:
I, [2022-03-22T16:54:37.912825 #1]  INFO -- : الملف > /etc/logrotate.d/rails  chmod:   chown:
I, [2022-03-22T16:54:37.917132 #1]  INFO -- : الملف > /etc/logrotate.d/nginx  chmod:   chown:
I, [2022-03-22T16:54:37.924129 #1]  INFO -- : الملف > /etc/runit/1.d/00-ensure-links  chmod: +x  chown:
I, [2022-03-22T16:54:37.930083 #1]  INFO -- : الملف > /etc/runit/1.d/01-cleanup-web-pids  chmod: +x  chown:
I, [2022-03-22T16:54:37.936780 #1]  INFO -- : الملف > /root/.bash_profile  chmod: 644  chown:
I, [2022-03-22T16:54:37.941664 #1]  INFO -- : الملف > /usr/local/etc/ImageMagick-7/policy.xml  chmod:   chown:
I, [2022-03-22T16:54:37.949303 #1]  INFO -- : استبدال (?-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_minute r/m;
limit_req_status 429;
limit_conn_zone $binary_remote_addr zone=connperip:10m;
limit_conn_status 429;
server {
 في /etc/nginx/conf.d/discourse.conf
I, [2022-03-22T16:54:37.952599 #1]  INFO -- : استبدال (?-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; في /etc/nginx/conf.d/discourse.conf
I, [2022-03-22T16:54:37.960935 #1]  INFO -- : الملف > /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 ممنوع
2022-03-22 16:54:38 خطأ 403: ممنوع.

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 -- : إرسال INT إلى 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 16:54:38.149 UTC [42] LOG:  تم استلام طلب إيقاف سريع
I, [2022-03-22T16:54:38.150508 #1]  INFO -- : إرسال TERM إلى exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
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 * تم حفظ قاعدة البيانات على القرص
103:M 22 Mar 2022 16:54:38.214 # Redis جاهز الآن للخروج، وداعًا...
2022-03-22 16:54:38.228 UTC [42] LOG:  تم إيقاف تشغيل نظام قاعدة البيانات

فشل
--------------------
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'
فشل التنفيذ مع المعلمات "/tmp/add-cloudflare-ips"
3123cbaef859e04ff382e3194e1745b88ee6e4777de9f0f7b45cb6cf2ac6d757
** فشل التمهيد ** يرجى التمرير لأعلى والبحث عن رسائل خطأ سابقة، قد يكون هناك أكثر من رسالة واحدة.
قد يساعد ./discourse-doctor في تشخيص المشكلة.
root@app:/var/discourse#

لقد قامت Cloudflare بحظر عنوان IP الخاص بك من استرداد قائمة عناوين IP. يمكنك المحاولة مرة أخرى، أو سؤالهم عن السبب، أو إدارة القائمة بنفسك.

لحل المشكلة الفورية، ربما ستقوم باسترداد القائمة من جهاز الكمبيوتر المحلي الخاص بك وتكييف القالب لتضمينها بشكل ثابت بدلاً من استردادها من Cloudflare، ثم التواصل معهم.

@RyanK أي اقتراحات بخصوص هذا؟ قالبنا (discourse_docker/templates/cloudflare.template.yml at main · discourse/discourse_docker · GitHub) يسحب القوائم كل بناء، ولكن لا ينبغي أن يكون هذا مشكلة. أتوقع أن أحصل على حد معدل 429 بدلاً من 403 إذا كان الأمر كذلك.

3 إعجابات

عذرًا على السؤال، أنا لست محترفًا :frowning: كيف يمكنني إضافة عناوين IP الخاصة بـ CloudFlare دون استخدام هذا القالب cloudflare.template.yml؟ أنا أستخدم Discourse Docker على Ubuntu 20.04.

لدي نفس المشكلة في مثيلين منفصلين، عناوين IP مختلفة. @GreenOWL ما هو مركز البيانات الذي تستخدمه؟

إعجاب واحد (1)

إذا كان Cloudflare يمنع وصولك ولست على دراية كافية لإصلاحه يدويًا، فإنني أوصي بشدة بإزالة واجهة Cloudflare الأمامية.

4 إعجابات

يفتح أبواب الجحيم للمسيئين.

إعجاب واحد (1)

مركز بيانات مزود الاستضافة الخاص بك.

إعجاب واحد (1)

ما لم تقم بإدارة مجتمع يجذب المسيئين، فلا ينبغي أن تكون هناك مشكلة. وتشغيل ديسكورس بطريقة لا يتم فيها تسريب عنوان IP الخاص بك أمر صعب للغاية.

الخيار 2.

إذا لم تتمكن من المساعدة - توقف عن إهانة المستخدمين.

في الواقع، يمكن تضمين إجراء القالب يدويًا عن طريق جلب عناوين IP الخاصة بـ CF من عنوان IP آخر. قدم لك @Falco نصيحة قيمة.

نعم، Vultr أيضاً. أعتقد أنه يجب عليك تقديم تذكرة لهم تذكر فيها أنها مشكلة في جميع عناوين IP الخاصة بهم.

تحقق في ملف الـ yaml الخاص بك من موقع وحدة التخزين المثبتة.

أحاول استبدال عنوان URL cloudflare.com/ips-v4/, cloudflare.com/ips-v6/ في cloudflare.template.yml بعناوين IP على خادمي (عند استضافة قائمة عناوين IP).

contents: |
        #!/bin/bash -e
        # Download list of CloudFlare ips
        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
        # Make into nginx commands and escape for inclusion into sed append command
        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.yml الموجود إلى cloudflare-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
        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 لاستضافة قائمة عناوين IP الخاصة بـ CloudFlare ولدي هذا الخطأ بسبب استخدام رابط يحتوي على الرمز /

        # 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:

أعتقد أنه من منظور الحاجة إلى إنشاء نسخة طبق الأصل من موقع عناوين IP الخاص بـ CloudFlare https://www.cloudflare.com/ips-v4 و https://www.cloudflare.com/ips-v6 للحصول على قائمة محدثة وتجاوز الحظر.

إعجاب واحد (1)

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