• %user%
logotype
SysOps
  • Главная
  • Новости
  • О проекте
  • Контакты
  • Статистика
  • Сервисы
    • My IP Address
    • IP Calculator
    • WHOIS Client
    • Speedtest
    • Crontab
    • NGINXConfig
    • Composerize

  • RHEL
  • Ubuntu
  • TCP/IP
  • DNS
  • Containers
  • Cloud
  • Ansible
  • NGINX
  • LAMP
  • LEMP
  • SQL
  • Zabbix
  • Netfilter
  • MikroTik

Получаем реальные IP-адреса клиентов за Cloudflare в логах NGINX


Когда трафик сайта направляется через сеть Cloudflare, то в access-логах NGINX регистрируются IP-адреса сети Cloudflare.

Реальный IP-адрес клиента добавляется в HTTP-заголовок под названием CF-Connecting-IP.

С помощью модуля ngx_http_realip_module в NGINX мы можем настроить получение реальных IP-адресов клиентов.

vi /etc/nginx/extras/cloudflare-real-ips.conf

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;

#use any of the following two

real_ip_header CF-Connecting-IP;
#real_ip_header X-Forwarded-For;

Подключаем конфигурацию в нужный блок server:

server {
	...
	include /etc/nginx/extras/cloudflare-real-ips.conf;
}

Список IP-адресов необходимо регулярно обновлять. Полный список IP-адресов Cloudflare доступны по ссылке: Cloudflare IPs

  • Комментарии
  • О статье
  • Похожие новости
У данной публикации нет комментариев.

sobir

Автор

24-08-2021, 11:49

Дата публикации

Cloud

Категория
  • Комментариев: 0
  • Просмотров: 564
Cloud / Nginx
Запрещаем веб трафик на origins, кроме Cloudflare IPs
RHEL / Ubuntu / Nginx
Получаем валидные сертификаты SSL от Let's Encrypt для NGINX
RHEL / Nginx / LAMP Stack / LEMP Stack
Настройка полноценного веб сервера NGINX + Apache + FPM в CentOS 8 / RHEL 8
Containers
Настраиваем GitLab Container Registry
RHEL / Nginx
Установка веб сервера NGINX в CentOS 8 / RHEL 8
Monitoring / Zabbix
Мониторинг статус-кодов HTTP NGINX в Zabbix
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Комментарии

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда следующие строки: 

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

после просто подключить в конфиге nginx: 

proxy_pass https://your_backend;

include proxy_params;

на Ubuntu такой файл уже существует можно просто подключить 

8 сентября 2022 18:23

komronu

Можно ещё так:

1. Создаем отдельную сеть для наших контейнеров

docker network create zbx-net

2. Указываем сеть по умолчанию в docker-compose.yml

networks:
  default:
    name: zbx-net
    external: true

26 августа 2022 10:43

sobir

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

22 августа 2022 15:12

komronu

Думаю в статье необходимо также описать процесс установки Ansible.
19 августа 2022 18:00

sobir

Принудительное обновление сертификата:

certbot certonly --force-renew -d newsite.com
17 октября 2021 11:40

sobir

Какой дистрибутив Linux вы часто используете?
Подпишись на канал
Выбрать дизайн сайта
1 посетитель на сайте. Из них:
Гости1
© 2020 SysOps Яндекс.Метрика

Авторизация

Регистрация Забыли пароль?