Справочный центр Cloudflare

Узнайте, как настроить mod_cloudflare для регистрации исходного IP-адреса вашего посетителя в зависимости от типа вашего исходного веб-сервера (включая Apache, nginx, Microsoft IIS и другие).


Обзор

Cloudflare включает исходный IP-адрес посетителя в заголовках X-Forwarded-For и CF-Connecting-IP .

  • Эти заголовки могут восстановить исходный IP-адрес посетителей или включить их в свои журналы.
  • Однако процесс настройки зависит от того, какой веб-сервер вы используете.

См. Восстановление исходных IP-адресов посетителей: вариант 1 для получения дополнительной информации об установке mod_cloudflare .


Восстановление IP-адресов посетителей по типу веб-сервера

См. ниже инструкции по настройке mod_cloudflare для регистрации исходных IP-адресов посетителей в зависимости от типа вашего веб-сервера:

Apache 2.4
  1. Убедитесь, что установлено следующее: Red Hat/ Fedora:

     sudo yum install httpd-devel libtool git 

    Debian/Ubuntu:

     sudo apt-get install apache2-dev libtool git 
  2. Клонируйте следующее для последней сборки mod_cloudflare :

    Red Hat/Fedora/Debian/Ubuntu:

     git clone https://github  .com/cloudflare/mod_cloudflare.git;  cd mod_cloudflare 
  3. Используйте инструмент расширения Apache для преобразования файла .c в модуль:

    Red Hat/Fedora/Debain /Ubuntu:

     apxs -a -i -c mod_cloudflare.c 
  4. Перезагрузить и убедитесь, что модуль активен:

    Red Hat/Fedora:

     service httpd restart;  httpd -M | grep cloudflare 

    Debian/Ubuntu:

     sudo apachectl restart;  apache2ctl -M | grep cloudflare 
  5. Если ваш веб-сервер находится за балансировщиком нагрузки, добавьте следующую строку в конфигурацию Apache (обычно httpd.conf) и замените 123.123.123.123 с IP-адресом вашего балансировщика нагрузки:

     IfModule cloudflare_moduleCloudFlareRemoteIPHeader X-Forwarded-ForCloudFlareRemoteIPTrustedProxy [вставьте IP-адрес вашего балансировщика нагрузки] DenyAllBut IfCloudFlare  

  1. Запустите следующий скрипт, чтобы установить mod_cloudflare как часть из EasyApache:

     bash  
  2. После установки вам нужно будет перекомпилировать Apache с новым плагином mod_cloudflare.

Чтобы Lighttpd автоматически перезаписывал IP-адрес сервера для журналов доступа и для вашего приложения, вы можете следовать одному из двух решений ниже w.

Если ваш origin подключается к Интернету только через IPv4:

  1. Откройте свой lighttpd. conf и добавьте mod_extforward в список server.modules . Он должен стоять после mod_accesslog , чтобы отображать реальный IP-адрес в журналах доступа (например, http://cl.ly/9fRX ).

  2. Добавьте следующий блок кода в любом месте файла lighttpd.conf после списка модулей сервера.

     $ HTTP ["remoteip"] == "199.27.128.0/21" {extforward.forwarder = ("all" => "trust") extforward  .headers = ("CF-Connecting-IP")} $ HTTP ["remoteip"] == "173.245.48.0/20" {extforward.forwarder = ("all" => "trust") extforward.headers = ("  CF-Connecting-IP ")} $ HTTP [" remoteip "] ==" 103.21.244.0/22 ​​"{extforward.forwarder = (" all "=>" trust ") extforward.headers = (" CF-Connecting-IP  ")} $ HTTP [" remoteip "] ==" 103.22.200.0/22 ​​"{extforward.forwarder = (" all "=>" trust ") extforward.headers = (" CF-Connecting-IP ")} $ HTTP  ["remoteip"] == "103.31.4.0/22" {extforward.forwarder = ("all" => "trust") extforward.headers = ("CF-Connecting-IP")} $ HTTP ["remoteip"]  == "141.101.64.0/18" {extforward.forwarder = ("all" => "trust") extf  orward.headers = ("CF-Connecting-IP")} $ HTTP ["remoteip"] == "108.162.192.0/18" {extforward.forwarder = ("all" => "trust")> extforward.headers =  ("CF-Connecting-IP")} $ HTTP ["remoteip"] == "190.93.240.0/20" {extforward.forwarder = ("all" => "trust") extforward.headers = ("CF-Connecting  -IP ")} $ HTTP [" remoteip "] ==" 188.114.96.0/20 "{extforward.forwarder = (" all "=>" trust ") extforward.headers = (" CF-Connecting-IP ")}  $ HTTP ["remoteip"] == "197.234.240.0/22" {extforward.forwarder = ("all" => "trust") extforward.headers = ("CF-Connecting-IP")} $ HTTP ["remoteip  "] ==" 198.41.128.0/17 "{extforward.forwarder = (" all "=>" trust ") extforward.headers = (" CF-Connecting-IP ")} $ HTTP [" remoteip "] =="  162.158.0.0/15 "{extforward.forwarder = (" all "=>" trust ") extforward.headers = (" CF-Connecting-IP ")} $ HTTP [" remoteip "] ==" 104.16.0.0/12  "{extforward.forwarder = (" all "=>" trust ") extforward.headers = (" CF-Connecting-IP ")} $ HTTP [" remoteip "] ==" 172.64.0.0/13 "{extforward.forwarder  = ("all" => "trust") extfor  ward.headers = ("CF-Connecting-IP")} 
  3. Перезапустите Lighttpd.

Если ваш источник подключается к Интернету с помощью IPv6:

В документации Lighttpd указано, что поле $ HTTP ["remoteip"] , который требуется для сопоставления диапазонов удаленных IP-адресов, не работает, если включен IPv6. Использование вышеуказанного метода не сработает при попытке пересылки диапазонов IP-адресов.

Здесь альтернативным решением для пересылки исходного IPv6-адреса с помощью Lighttpd является доверие всем прокси (Lighttpd не рекомендует). Это можно сделать следующим образом:

  1. Установив mod_accesslog перед mod_extforward в server.modules list

  2. Добавление следующих строк в lighttpd.conf :

     extforward.forwarder = ("all" => "trust") extforward.headers = ("CF-Connecting-IP") 
  3. Перезапустите Lighttpd.

Для IIS 7–8:

Следуйте инструкциям здесь.

Для IIS 8.5–10:

  1. В диспетчере IIS дважды щелкните Logging в меню Действия сайта, над которым вы работаете.

  2. После запуска выберите W3C в качестве формата и затем нажмите Выбрать поля рядом с раскрывающимся списком формата в Подраздел файла журнала .

  3. Нажмите Добавить поле и добавьте CF-Co nnecting-IP заголовок.

  4. Нажмите ОК . Вы должны увидеть свою новую запись в разделе Настраиваемые поля . Нажмите Применить , когда вернетесь в окно Ведение журнала .

  5. В случае успеха файл журнала должен теперь иметь подчеркивание:

    Вы также должны увидеть изменение в полях:

  6. Перезапустите сайт, затем W3SVC, затем весь экземпляр если изменение не отражается немедленно.

См. это стороннее руководство о восстановлении исходного IP-адреса посетителя с помощью Magento и Cloudflare.

Точно так же Cloudflare не писала это расширение Magento, но некоторые из наших клиентов сочли его полезным.

Информацию о восстановлении исходного IP-адреса посетителя с помощью Simple Machines (SMF) можно найти на форумах SMF Simple Machines

Более свежие версии MyB B включить опцию «Тщательная проверка IP-адреса пользователя».

Admin CP> Конфигурация> Сервер и параметры оптимизации> Тщательно изучить IP-адрес пользователя? > Да

В качестве альтернативы вы можете установить подключаемый модуль управления Cloudflare, доступный для MyBB 1.6.

MyBB 1.6.0, 1.6.1, 1.6.2 или 1.6. 3

  1. Перейдите к ./inc/functions.php .

  2. Перейти к строке 2790.

  3. Заменить:

      if (isset ($ _ SERVER ['REMOTE_ADDR'])) 

    С:

     if (isset ($ _ SERVER ['  HTTP_CF_CONNECTING_IP '])) 
  4. Затем замените:

     $ ip = $ _SERVER  ['REMOTE_ADDR']; 

    С:

     $ ip = $ _SERVER ['HTTP_CF_CONNECTING_IP']; 

  1. Открыть включает/GlobalFunctions .php . Примерно в строке 370 измените следующее:

     $ forward = " t (proxiedvia {$ _SERVER ['REMOTE_ADDR']} {$ forward})"  ; 

    в

     $ forward = " t (прокси через {$ _SERVER ['HTTP_CF_CONNECTING_IP']} {$ forward}  ) "; 
  2. Откройте includes/ProxyTools.php . Примерно в строке 79 найдите:

     if (isset ($ _SERVER ['REMOTE_ADDR'])) {

    и замените с:

     if (isset ($ _SERVER ['HTTP_CF_CONNECTING_IP'])) {
  3. Найдите примерно в строке 80:

     $ ipchain = array (IP :: canonicalize ($ _ SERVER ['REMOTE_ADDR'])); 

    Сохраните и загрузите на исходный веб-сервер.

Для версий около 1.27.1:

  1. Перейдите к строке 1232 в GlobalFunctions.php , измените REMOTE_ADDR на HTTP_CF_CONNECTING_IP .

  2. Затем перейдите к WebRequest.php , в строках с 1151 по строку 1159 измените REMOTE_ADDR на HTTP_CF_CONNECTING_IP .

Внешний party создала модуль для Cloudflare и PunBB, который восстановит исходный IP-адрес посетителя.

Вы можете исправить IP-адрес, изменение PHP Поле IP Server Param в конфигурации сервера Livezilla на HTTP_CF_CONNECTING_IP .

Внешний разработчик создал расширение Cloudflare для TYPO3, которое восстановит исходный IP-адрес посетителя в ваших журналах. Расширение также даст возможность очистить кеш Cloudflare.

Внешний разработчик создал модуль для восстановления посетителя IP называется node_cloudflare.


Связанные ресурсы

  • Восстановление исходного посетителя IP-адреса — Вариант 1: Установить mod-cloudflare
  • Восстановление исходных IP-адресов посетителей — Вариант 2: Установка mod_remoteip с Apache
  • Как Cloudflare обрабатывает заголовки HTTP-запросов?
Оцените статью
techsly.ru
Добавить комментарий