🇨🇳 IP-адрес в информации о пользователе Discourse показывает IP-адрес CloudFlare

Поскольку используется обратный прокси CloudFlare,

все IP-адреса пользователей, получаемые Discourse, на самом деле являются адресами серверов CloudFlare.

Изменение

К счастью, в Discourse уже предусмотрено соответствующее решение.

Необходимо добавить следующее содержимое в файл конфигурации Discourse:

  • «templates/cloudflare.template.yml»


Затем пересоберите ваш экземпляр установки Discourse.

./launcher rebuild app

С помощью указанной выше команды можно напрямую пересобрать Discourse. Обратите внимание, что процесс пересборки занимает около 10 минут, в течение которых система будет недоступна.

После перезагрузки системы проверьте — теперь система корректно получает IP-адреса пользователей.

2 лайка

Великий, используется ли здесь прокси-ускорение через CDN Cloudflare? У меня постоянно появляется ошибка 502 между Cloudflare и исходным сервером, иногда соединение работает. Исходный сервер находится в Китае. Это проблема сети, проблема SSL-сертификата или есть какие-то особенности конфигурации Cloudflare, на которые стоит обратить внимание?

Я использую сервис CloudFlare.

На данный момент ошибок 502 не возникало. Вероятно, время ответа вашего исходного сервера превысило установленное значение.

Проблему нашли: я настраивал внутреннюю пересылку через балансировку нагрузки TCP, но сделал это неправильно. Позже всё исправили. Однако исходный сервер находится в Китае, и при использовании CloudFlare скорость反而 ухудшилась, поэтому от CloudFlare уже отказались. При внутренней пересылке также требуется разрешение IP-адресов пользователей — для этого используется заголовок real_ip_header с протоколом proxy_protocol.

2 лайка

Если возникнут вопросы по регистрации ICP, то для серверов в Китае без регистрации лучше использовать глобальное ускорение данных от Tencent, чем CloudFlare.

Регистрация завершена. Пробовал Али, ускорение работает нормально, но довольно дорого. Как насчёт цен у Tencent? CloudFlare, кажется, бесплатный.

Не скажешь, что это дешево. На этом сайте: https://www.cwikius.cn/ мы подключили ускорение от Tencent, хотя трафика там изначально было немного.

Сейчас в месяц это стоит меньше 5 юаней.

Понял, спасибо за вашу поддержку и обратную связь, уважаемый коллега.

Раньше при использовании Ubuntu добавление этой строки позволяло увидеть реальный IP-адрес, но при использовании Rocky 9.3 после добавления этой строки система не может перезагрузиться.

Возможно, это проблема с версией операционной системы.

Официально используется Ubuntu, но она также развернута в контейнере, поэтому версия вашей ОС, скорее всего, не имеет большого значения.

Я переключился на 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 может помочь диагностировать проблему.

Похоже, при выполнении Discourse возникла ошибка. Установлен ли Docker-контейнер на сервере?

Какая версия Docker?

Docker версия 26.0.0, сборка 2ae903e

Раньше с Jia Guo Yun всё работало, а теперь с Alibaba Cloud не получается. Неужели у Alibaba Cloud есть какие-то меры безопасности?!

Это вполне возможно.

Многие версии операционных систем в Китае сильно модифицированы. Некоторые функции не работают.

В конце концов, после одной перезагрузки сервера всё каким-то образом снова заработало…

Это тоже довольно странно. По одной только ошибке ничего не поймёшь.

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
Непонятно, что происходит!!!

Похоже, у других тоже возникала эта проблема. Посмотрите, пожалуйста, это: Failed to bootstrap (/tmp/add-cloudflare-ips) - #21 by GreenOWL

Есть ли у кого-то плагин для парсинга видео с Bilibili? Раньше работал, но сейчас, кажется, перестал.