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
** НЕ УДАЛОСЬ ЗАПУСТИТЬ ** пожалуйста, прокрутите вверх и поищите сообщения об ошибках, возникших ранее, их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.
Эта ошибка возникает, когда я включаю и выключаю прокси (оранжевое облако) в CloudFlare
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_minuter/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 Forbidden
2022-03-22 16:54:38 ОШИБКА 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 -- : Отправка 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 есть какие-нибудь предложения по этому поводу? Наш шаблон загружает списки при каждой сборке, но это не должно быть проблемой. Если бы это было так, я ожидал бы получить ошибку 429 (превышение лимита запросов), а не 403.
Извините за вопрос, я не профи Как мне добавить IP-адреса CloudFlare, не используя этот шаблон cloudflare.template.yml? Я использую Discourse Docker на Ubuntu 20.04.
Если Cloudflare блокирует ваш доступ, и вы не обладаете достаточными знаниями для его ручного исправления, настоятельно рекомендую убрать фронтинг Cloudflare.
Если только вы не управляете сообществом, которое привлекает нарушителей, это не должно стать проблемой. А настроить Discourse так, чтобы ваш IP-адрес не был раскрыт, довольно сложно.
Я пытаюсь заменить 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 &;/' | 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 завершился с ошибкой, код возврата #<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"
7b755fd1f149c4b1bfb984edccf952001a7d97621aba59a111d07784bf39dc78
** НЕ УДАЛОСЬ ЗАПУСТИТЬ ** Пожалуйста, прокрутите вверх и поищите сообщения об ошибках, возможно, их несколько.
Утилита ./discourse-doctor может помочь в диагностике проблемы.
Я думаю, что в перспективе стоит создать зеркало для сайта с IP-адресами CloudFlare https://www.cloudflare.com/ips-v4 и https://www.cloudflare.com/ips-v6, чтобы получать актуальные списки и обходить блокировку.