Затем пересоберите ваш экземпляр установки Discourse.
./launcher rebuild app
С помощью указанной выше команды можно напрямую пересобрать Discourse. Обратите внимание, что процесс пересборки занимает около 10 минут, в течение которых система будет недоступна.
После перезагрузки системы проверьте — теперь система корректно получает IP-адреса пользователей.
Великий, используется ли здесь прокси-ускорение через CDN Cloudflare? У меня постоянно появляется ошибка 502 между Cloudflare и исходным сервером, иногда соединение работает. Исходный сервер находится в Китае. Это проблема сети, проблема SSL-сертификата или есть какие-то особенности конфигурации Cloudflare, на которые стоит обратить внимание?
Проблему нашли: я настраивал внутреннюю пересылку через балансировку нагрузки TCP, но сделал это неправильно. Позже всё исправили. Однако исходный сервер находится в Китае, и при использовании CloudFlare скорость反而 ухудшилась, поэтому от CloudFlare уже отказались. При внутренней пересылке также требуется разрешение IP-адресов пользователей — для этого используется заголовок real_ip_header с протоколом proxy_protocol.
Если возникнут вопросы по регистрации ICP, то для серверов в Китае без регистрации лучше использовать глобальное ускорение данных от Tencent, чем CloudFlare.
Раньше при использовании Ubuntu добавление этой строки позволяло увидеть реальный IP-адрес, но при использовании Rocky 9.3 после добавления этой строки система не может перезагрузиться.
Я переключился на Ubuntu 22.04, но ошибка сохраняется.
FAILED
Pups::ExecError: /tmp/add-cloudflare-ips завершился с ошибкой, возвращён код #<Process::Status: pid 4279 exit 8>
Место сбоя: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
выполнение команды не удалось с параметрами “/tmp/add-cloudflare-ips”
загрузка не удалась с кодом выхода 8
** ЗАГРУЗКА НЕ УДАЛАСЬ ** пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках; их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
Pups::ExecError: /tmp/add-cloudflare-ips завершился с ошибкой #<Process::Status: pid 5134 exit 8>
Место ошибки: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
Ошибка выполнения с параметрами “/tmp/add-cloudflare-ips”
Загрузка не удалась с кодом выхода 8
** ЗАГРУЗКА НЕ УДАЛАСЬ ** Пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках; их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.
f51291d274ba2564076ba412f28fb445db9c916f00a6d1fb76d2613e773ccfcf
Непонятно, что происходит!!!