Fehler beim Bootstrapping (/tmp/add-cloudflare-ips)

Hallo!

Ich habe diesen Fehler, wenn ich versuche, neu zu erstellen:

FEHLGESCHLAGEN
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips fehlgeschlagen mit Rückgabe #<Process::Status: pid 1484 exit 8>
Ort des Fehlschlags: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fehlgeschlagen mit den Parametern "/tmp/add-cloudflare-ips"
9fe8337bb7b8e64abb480bd2527551585759e48df340dc74bb84c67bdf1ee6b2
** FEHLER BEIM BOOTSTRAP ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.

Dieser Fehler war sicher mit Aktivieren und Deaktivieren des Proxys (orangefarbene Wolke) auf CloudFlare :frowning:

1 „Gefällt mir“

Können Sie nach oben scrollen und die Ausgabe von oben anzeigen, bei der der Befehl /tmp/add-cloudflare-ips fehlschlägt?

CSS-Kompilierung abgeschlossen: 2022-03-22 16:54:37 UTC
I, [2022-03-22T16:54:37.832057 #1]  INFO -- : MaxMindDB wird heruntergeladen...
Javascript wird komprimiert und Source Maps werden generiert

I, [2022-03-22T16:54:37.874506 #1]  INFO -- : Datei > /usr/local/bin/discourse  chmod: +x  chown:
I, [2022-03-22T16:54:37.880784 #1]  INFO -- : Datei > /usr/local/bin/rails  chmod: +x  chown:
I, [2022-03-22T16:54:37.887872 #1]  INFO -- : Datei > /usr/local/bin/rake  chmod: +x  chown:
I, [2022-03-22T16:54:37.894248 #1]  INFO -- : Datei > /usr/local/bin/rbtrace  chmod: +x  chown:
I, [2022-03-22T16:54:37.900136 #1]  INFO -- : Datei > /usr/local/bin/stackprof  chmod: +x  chown:
I, [2022-03-22T16:54:37.907873 #1]  INFO -- : Datei > /etc/update-motd.d/10-web  chmod: +x  chown:
I, [2022-03-22T16:54:37.912825 #1]  INFO -- : Datei > /etc/logrotate.d/rails  chmod:   chown:
I, [2022-03-22T16:54:37.917132 #1]  INFO -- : Datei > /etc/logrotate.d/nginx  chmod:   chown:
I, [2022-03-22T16:54:37.924129 #1]  INFO -- : Datei > /etc/runit/1.d/00-ensure-links  chmod: +x  chown:
I, [2022-03-22T16:54:37.930083 #1]  INFO -- : Datei > /etc/runit/1.d/01-cleanup-web-pids  chmod: +x  chown:
I, [2022-03-22T16:54:37.936780 #1]  INFO -- : Datei > /root/.bash_profile  chmod: 644  chown:
I, [2022-03-22T16:54:37.941664 #1]  INFO -- : Datei > /usr/local/etc/ImageMagick-7/policy.xml  chmod:   chown:
I, [2022-03-22T16:54:37.949303 #1]  INFO -- : Ersetze (?-mix:server.+{) mit 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-22T16:54:37.952599 #1]  INFO -- : Ersetze (?-mix:location @discourse {) mit 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-22T16:54:37.960935 #1]  INFO -- : Datei > /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/
Auflösen von www.cloudflare.com (www.cloudflare.com)... 104.16.124.96, 104.16.123.96, 2606:4700::6810:7c60, ...
Verbindung zu www.cloudflare.com (www.cloudflare.com)|104.16.124.96|:443... verbunden.
HTTP-Anfrage gesendet, warte auf Antwort... 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 -- : Asynchrone Prozesse werden beendet
I, [2022-03-22T16:54:38.148916 #1]  INFO -- : Sende INT an 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:  schnelle Herunterfahrungsanforderung empfangen
I, [2022-03-22T16:54:38.150508 #1]  INFO -- : Sende TERM an exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1647968078) SIGTERM empfangen, Herunterfahren wird geplant...
2022-03-22 16:54:38.155 UTC [42] LOG:  laufende Transaktionen werden abgebrochen
2022-03-22 16:54:38.167 UTC [42] LOG:  Hintergrundarbeiter "logical replication launcher" (PID 51) wurde mit Exit-Code 1 beendet
2022-03-22 16:54:38.171 UTC [46] LOG:  wird heruntergefahren
103:M 22 Mar 2022 16:54:38.203 # Benutzer hat Herunterfahren angefordert...
103:M 22 Mar 2022 16:54:38.204 * Speichere den letzten RDB-Schnappschuss vor dem Beenden.
103:M 22 Mar 2022 16:54:38.213 * DB auf Festplatte gespeichert
103:M 22 Mar 2022 16:54:38.214 # Redis ist jetzt bereit zum Beenden, auf Wiedersehen...
2022-03-22 16:54:38.228 UTC [42] LOG:  Datenbanksystem ist heruntergefahren


FEHLGESCHLAGEN
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips fehlgeschlagen mit Rückgabe #<Process::Status: pid 1487 exit 8>
Ort des Fehlschlags: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fehlgeschlagen mit den Parametern "/tmp/add-cloudflare-ips"
3123cbaef859e04ff382e3194e1745b88ee6e4777de9f0f7b45cb6cf2ac6d757
** FEHLER BEIM BOOTSTRAPPING ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
root@app:/var/discourse#

Cloudflare hat Ihre IP-Adresse blockiert, um die Liste der IPs abzurufen. Sie können es erneut versuchen, sie fragen, warum, oder die Liste selbst verwalten.

Um das unmittelbare Problem zu beheben, würde ich die Liste wahrscheinlich von Ihrem lokalen Computer abrufen und die Vorlage anpassen, um sie fest zu codieren, anstatt sie von Cloudflare abzurufen, und dann mit ihnen Kontakt aufnehmen.

@RyanK irgendwelche Vorschläge dazu? unsere Vorlage zieht die Listen bei jedem Build, aber das sollte kein Problem sein. Ich würde erwarten, 429 Rate-limited zu werden, anstatt 403ed, wenn es das wäre

3 „Gefällt mir“

Entschuldigung für die Frage, ich bin kein Profi :frowning: Wie kann ich CloudFlare IPs hinzufügen, ohne diese Vorlage cloudflare.template.yml zu verwenden? Ich benutze Discourse Docker auf Ubuntu 20.04.

Ich habe dasselbe Problem auf zwei separaten Instanzen, unterschiedliche IPs. @GreenOWL, welchen DC verwendest du?

1 „Gefällt mir“

Wenn Cloudflare Ihren Zugriff blockiert und Sie nicht über genügend Kenntnisse verfügen, um dies manuell zu beheben, empfehle ich dringend, das Cloudflare-Fronting zu entfernen.

4 „Gefällt mir“

Öffnet die Höllentore für Missbraucher.

1 „Gefällt mir“

Das Rechenzentrum Ihres Hosting-Anbieters.

1 „Gefällt mir“

Es sei denn, Sie betreiben eine Community, die Missbrauchstäter anzieht, sollte dies kein Problem sein. Und Discourse so zu betreiben, dass Ihre IP nicht durchgesickert wird, ist ziemlich knifflig.

[quote=“Falco, post:8, topic:221667”]du bist nicht vertraut genug, um es manuell zu reparieren
[/quote]

Variante 2.

Wenn du nicht helfen kannst – hör auf, Benutzer zu beleidigen.

Tatsächlich kann die Vorlagenaktion manuell eingebettet werden, indem die CF-IPs von einer anderen IP bezogen werden. @Falco hat Ihnen einen soliden Rat gegeben.

Ja, vultr auch. Ich denke, Sie sollten ein Ticket bei ihnen eröffnen und erwähnen, dass es ein Problem mit all ihren IPs gibt.

Überprüfen Sie in Ihrer YAML-Datei den Speicherort des gemounteten Volumes.

Ich versuche, die URLs cloudflare.com/ips-v4/, cloudflare.com/ips-v6/ in cloudflare.template.yml durch IPs auf meinem Server (wenn IP-Liste gehostet wird) zu ersetzen.

contents: |
        #!/bin/bash -e
        # Liste der CloudFlare-IPs herunterladen
        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
        # In Nginx-Befehle umwandeln und für die Aufnahme in den sed-Append-Befehl escapen
        CONTENTS=$(</tmp/cloudflare-ips sed '/^$/d; s/^.*/set_real_ip_from \u0026;/' | tr '\n' '\\' | sed 's/\\\\/\\\\n/g')

Habe dieses Ergebnis

I, [2022-03-22T18:49:10.469231 #1]  INFO -- : Downloading MaxMindDB...
Komprimieren von Javascript und Generieren von 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 -- : Ersetze (?-mix:server.+{) durch 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 -- : Ersetze (?-mix:location @discourse {) durch 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 -- : Asynchrone Prozesse beenden
I, [2022-03-22T18:49:10.813970 #1]  INFO -- : Sende INT an 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:  schnelle Herunterfahrungsanforderung empfangen
I, [2022-03-22T18:49:10.816541 #1]  INFO -- : Sende TERM an exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1647974950) SIGTERM empfangen, Herunterfahren wird geplant...
2022-03-22 18:49:10.820 UTC [42] LOG:  aktive Transaktionen abbrechen
2022-03-22 18:49:10.834 UTC [42] LOG:  Hintergrundarbeiter "logical replication launcher" (PID 51) mit Exit-Code 1 beendet
2022-03-22 18:49:10.837 UTC [46] LOG:  wird heruntergefahren
2022-03-22 18:49:10.877 UTC [42] LOG:  Datenbanksystem ist heruntergefahren
103:M 22 Mar 2022 18:49:10.896 # Benutzer hat Herunterfahren angefordert...
103:M 22 Mar 2022 18:49:10.897 * Speichere den letzten RDB-Snapshot vor dem Beenden.
103:M 22 Mar 2022 18:49:10.923 * DB auf Festplatte gespeichert
103:M 22 Mar 2022 18:49:10.924 # Redis ist jetzt bereit zum Beenden, auf Wiedersehen...


FEHLGESCHLAGEN
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips fehlgeschlagen mit Rückgabe #<Process::Status: pid 1487 exit 8>
Ort des Fehlers: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fehlgeschlagen mit den Parametern "/tmp/add-cloudflare-ips"
7b755fd1f149c4b1bfb984edccf952001a7d97621aba59a111d07784bf39dc78
** FEHLER BEIM BOOTSTRAP ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.

Versuchen Sie, die vorhandene cloudflare.template.yml nach cloudflare-static.template.yml zu kopieren und den oberen Teil zu ersetzen, damit er wie folgt aussieht:

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
        # In Nginx-Befehle umwandeln und für die Aufnahme in den sed append-Befehl maskieren
        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")
        # In discourse.conf einfügen
        sed -i "/sendfile on;/a $CONTENTS\\nreal_ip_header CF-Connecting-IP;" /etc/nginx/conf.d/discourse.conf
        # Aufräumen
        rm /tmp/cloudflare-ips

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

Ändern Sie dann Ihren App-Container so, dass er die -static-Vorlage anstelle der ursprünglichen verwendet.

Lassen Sie es nicht für immer so.

4 „Gefällt mir“

Ich kann es in cloudflare.template.yml beheben

Ich benutze GitHub, um die CloudFlare-IP-Liste zu hosten, und habe diesen Fehler, weil ich einen Link mit dem Symbol / verwende

        # 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

Benötigt URL ohne / dies:

        # 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

Es funktioniert :slight_smile:

Ich denke, aus der Perspektive muss ein Spiegel für die CloudFlare-IPs-Website https://www.cloudflare.com/ips-v4 und https://www.cloudflare.com/ips-v6 erstellt werden, um eine aktuelle Liste zu erhalten und den Block zu umgehen.

1 „Gefällt mir“

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