Bootstrap fallito (/tmp/add-cloudflare-ips)

Ciao!

Ho questo errore quando provo a ricostruire:

FAILED
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips fallito con ritorno #<Process::Status: pid 1484 exit 8>
Posizione del fallimento: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fallito con i parametri "/tmp/add-cloudflare-ips"
9fe8337bb7b8e64abb480bd2527551585759e48df340dc74bb84c67bdf1ee6b2
** FAILED TO BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.

Questo errore si è verificato con l’abilitazione e la disabilitazione del proxy (nuvola arancione) su CloudFlare :frowning:

1 Mi Piace

Puoi scorrere verso l’alto e mostrare l’output sopra dove il comando /tmp/add-cloudflare-ips fallisce?

CSS compilato: 2022-03-22 16:54:37 UTC
I, [2022-03-22T16:54:37.832057 #1]  INFO -- : Download di MaxMindDB in corso...
Compressione di Javascript e generazione di Source Map
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 -- : Sostituzione di (?-mix:server.+{) con 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 {
 in /etc/nginx/conf.d/discourse.conf
I, [2022-03-22T16:54:37.952599 #1]  INFO -- : Sostituzione di (?-mix:location @discourse {) con 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 -- : 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/
Risoluzione di www.cloudflare.com (www.cloudflare.com)... 104.16.124.96, 104.16.123.96, 2606:4700::6810:7c60, ...
Connessione a www.cloudflare.com (www.cloudflare.com)|104.16.124.96|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 403 Forbidden
2022-03-22 16:54:38 ERRORE 403: Forbidden.

I, [2022-03-22T16:54:38.130543 #1]  INFO -- :
I, [2022-03-22T16:54:38.146489 #1]  INFO -- : Terminazione processi asincroni
I, [2022-03-22T16:54:38.148916 #1]  INFO -- : Invio di INT a 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:  richiesta di arresto rapido ricevuta
I, [2022-03-22T16:54:38.150508 #1]  INFO -- : Invio di TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1647968078) SIGTERM ricevuta, pianificazione arresto...
2022-03-22 16:54:38.155 UTC [42] LOG:  annullamento di tutte le transazioni attive
2022-03-22 16:54:38.167 UTC [42] LOG:  worker di background "logical replication launcher" (PID 51) terminato con codice di uscita 1
2022-03-22 16:54:38.171 UTC [46] LOG:  arresto in corso
103:M 22 Mar 2022 16:54:38.203 # Arresto richiesto dall'utente...
103:M 22 Mar 2022 16:54:38.204 * Salvataggio dello snapshot RDB finale prima dell'uscita.
103:M 22 Mar 2022 16:54:38.213 * DB salvato su disco
103:M 22 Mar 2022 16:54:38.214 # Redis è ora pronto per uscire, arrivederci...
2022-03-22 16:54:38.228 UTC [42] LOG:  il sistema di database è stato arrestato

FALLITO
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips fallito con ritorno #<Process::Status: pid 1487 exit 8>
Posizione del fallimento: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fallito con i parametri "/tmp/add-cloudflare-ips"
3123cbaef859e04ff382e3194e1745b88ee6e4777de9f0f7b45cb6cf2ac6d757
** FALLITO IL BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.
root@app:/var/discourse#

Cloudflare ha bloccato il tuo IP dal recupero del suo elenco di IP. Puoi riprovare, chiedere loro il motivo o gestire l’elenco da solo.

Per risolvere il problema immediato, probabilmente recupererei l’elenco dal tuo computer locale e adatterei il modello per codificarlo invece di recuperarlo da Cloudflare, quindi li contatterei.

@RyanK qualche suggerimento su questo? il nostro template recupera le liste ad ogni build, ma questo non dovrebbe essere un problema. Mi aspetterei di ricevere un 429 rate-limited piuttosto che un 403 se fosse così

3 Mi Piace

Mi scusi per la domanda, non sono un professionista :frowning: Come posso aggiungere gli IP di CloudFlare senza usare questo template cloudflare.template.yml? Uso Discourse Docker su Ubuntu 20.04.

Ho lo stesso problema su due istanze separate, IP diversi. @GreenOWL quale DC stai usando?

1 Mi Piace

Se Cloudflare sta bloccando il tuo accesso e non hai abbastanza familiarità per risolverlo manualmente, ti consiglio vivamente di rimuovere il fronting di Cloudflare.

4 Mi Piace

Apre le porte dell’inferno agli abusatori.

1 Mi Piace

Il data center del tuo provider di hosting.

1 Mi Piace

A meno che tu non gestisca una community che attira abusatori, non dovrebbe essere un problema. E gestire Discourse in modo che il tuo IP non venga divulgato è piuttosto complicato.

Variante 2.

Se non puoi aiutare, smettila di offendere gli utenti.

In realtà l’azione del template può essere incorporata manualmente recuperando gli IP di CF da un altro IP. @Falco ti ha dato un ottimo consiglio.

Sì, anche vultr. Suppongo che dovresti aprire un ticket con loro menzionando che è un problema su tutti i loro IP

Controlla nel tuo yaml la posizione del volume montato.

Provo a sostituire gli URL cloudflare.com/ips-v4/, cloudflare.com/ips-v6/ in cloudflare.template.yml con gli IP sul mio server (quando l’elenco degli IP è ospitato).

contents: |
        #!/bin/bash -e
        # Scarica l'elenco degli IP di CloudFlare
        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
        # Trasforma in comandi nginx e fai l'escape per l'inclusione nel comando sed append
        CONTENTS=$(</tmp/cloudflare-ips sed '/^$/d; s/^.*/set_real_ip_from \u0026;/' | tr '\n' '\\' | sed 's/\\\\/\\\\n/g')

Ho questo risultato

I, [2022-03-22T18:49:10.469231 #1]  INFO -- : Download di MaxMindDB...
Compressione di Javascript e generazione di Source Map

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 -- : Sostituzione di (?-mix:server.+{) con 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 -- : Sostituzione di (?-mix:location @discourse {) con 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 -- : Terminazione dei processi asincroni
I, [2022-03-22T18:49:10.813970 #1]  INFO -- : Invio di INT a 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:  ricevuta richiesta di arresto rapido
I, [2022-03-22T18:49:10.816541 #1]  INFO -- : Invio di TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1647974950) Ricevuto SIGTERM, pianificazione arresto...
2022-03-22 18:49:10.820 UTC [42] LOG:  annullamento di tutte le transazioni attive
2022-03-22 18:49:10.834 UTC [42] LOG:  worker di background "logical replication launcher" (PID 51) terminato con codice di uscita 1
2022-03-22 18:49:10.837 UTC [46] LOG:  arresto in corso
2022-03-22 18:49:10.877 UTC [42] LOG:  il sistema di database è arrestato
103:M 22 Mar 2022 18:49:10.896 # Arresto richiesto dall'utente...
103:M 22 Mar 2022 18:49:10.897 * Salvataggio dello snapshot RDB finale prima dell'uscita.
103:M 22 Mar 2022 18:49:10.923 * DB salvato su disco
103:M 22 Mar 2022 18:49:10.924 # Redis è ora pronto per uscire, arrivederci...


FALLITO
--------------------
Pups::ExecError: /tmp/add-cloudflare-ips fallito con ritorno #<Process::Status: pid 1487 exit 8>
Posizione del fallimento: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fallito con i parametri "/tmp/add-cloudflare-ips"
7b755fd1f149c4b1bfb984edccf952001a7d97621aba59a111d07784bf39dc78
** IMPOSSIBILE AVVIARE ** scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.

Prova a copiare cloudflare.template.yml esistente in cloudflare-static.template.yml e sostituisci la parte superiore in modo che assomigli a:\n\n```
run:

  • file:
    path: /tmp/add-cloudflare-ips
    chmod: +x
    contents: |\n #!/bin/bash -e\n cat < /tmp/cloudflare-ips\n 173.245.48.0/20\n 103.21.244.0/22\n 103.22.200.0/22\n 103.31.4.0/22\n 141.101.64.0/18\n 108.162.192.0/18\n 190.93.240.0/20\n 188.114.96.0/20\n 197.234.240.0/22\n 198.41.128.0/17\n 162.158.0.0/15\n 104.16.0.0/13\n 104.24.0.0/14\n 172.64.0.0/13\n 131.0.72.0/22\n 2400:cb00::/32\n 2606:4700::/32\n 2803:f800::/32\n 2405:b500::/32\n 2405:8100::/32\n 2a06:98c0::/29\n 2c0f:f248::/32\n EOF\n # Converti in comandi nginx ed esegui l’escape per l’inclusione nel comando sed append\n CONTENTS=(< /tmp/cloudflare-ips sed '/^/d; s/^.*/set_real_ip_from &;/’ | tr ‘\n’ ‘\\’ | sed ‘s/\\/\\n/g’)\n \n echo CloudFlare IPs:\n echo $(echo | sed "/^/a $CONTENTS")\n # Inserisci in discourse.conf\n sed -i "/sendfile on;/a $CONTENTS\nreal_ip_header CF-Connecting-IP;" /etc/nginx/conf.d/discourse.conf\n # Pulisci\n rm /tmp/cloudflare-ips\n\n - exec: "/tmp/add-cloudflare-ips"\n - exec: "rm /tmp/add-cloudflare-ips"\n```\n\nQuindi cambia il tuo container dell’app per utilizzare il template -static invece di quello originale.\n\nNon lasciarlo così per sempre.
4 Mi Piace

Posso sistemarlo in cloudflare.template.yml

Sto usando GitHub per ospitare l’elenco degli IP di CloudFlare e ho questo errore perché uso un link con il simbolo /

        # 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

Necessito l’URL senza / questo:

        # 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

Funziona :slight_smile:

Penso che nella prospettiva sia necessario creare uno specchio del sito Web degli IP di CloudFlare https://www.cloudflare.com/ips-v4 e https://www.cloudflare.com/ips-v6 per ottenere un elenco aggiornato ed evitare blocchi.

1 Mi Piace

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