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
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
Entschuldigung für die Frage, ich bin kein Profi Wie kann ich CloudFlare IPs hinzufügen, ohne diese Vorlage cloudflare.template.yml zu verwenden? Ich benutze Discourse Docker auf Ubuntu 20.04.
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.
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.
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.
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.
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.