• %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

Запрещаем веб трафик на origins, кроме Cloudflare IPs


Cloudflare — это сервис, который располагается между пользователями и сервером владельца сайта, выступающий как обратный прокси-сервер для сайтов. Cloudflare предоставляет сеть доставки контента (CDN), защиту от DDoS атак и распределенные службы доменных имен (DNS).

Термин "origins" используется в Cloudflare, как сервер находящийся за облаком Cloudflare и принимающий запросы от него.

Предполагается, что ваш сайт уже настроен на работу с сервисами Cloudflare.

Создайте скрипт, который будет актуализировать информацию об IP адресах Cloudflare, а также обновлять конфигурацию в NGINX.

vi /root/cloudflare-ips.sh
#!/bin/bash

# GET Cloudflare IPs
curl https://www.cloudflare.com/ips-v4 > /etc/nginx/extras/ips-v4

# add "allow" to start and ";" to end of lines
sed 's/.*/allow &;/' /etc/nginx/extras/ips-v4 >> /tmp/cf-ips
mv -f /tmp/cf-ips /etc/nginx/extras/cf-ips

# test nginx conf
/usr/sbin/nginx -t

if [[ $? == 0 ]]; then
    echo "Reload nginx configuration..."
    systemctl reload nginx.service
else
    echo "Cannot reload nginx because test conf failed..."
fi

Добавьте acl в нужный location в nginx:
include /etc/nginx/extras/cf-ips;
deny all;

Скачать файл: cloudflare-ips.sh [464 b] (cкачиваний: 14)

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

sobir

Автор

17-12-2020, 11:40

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

Cloud / Nginx

Категория
  • Комментариев: 0
  • Просмотров: 509
Cloud
Получаем реальные IP-адреса клиентов за Cloudflare в логах NGINX
RHEL / Ubuntu / Nginx
Получаем валидные сертификаты SSL от Let's Encrypt для NGINX
RHEL / Nginx
Установка веб сервера NGINX в CentOS 8 / RHEL 8
RHEL / Nginx
Настройка обратного прокси сервера NGINX с SSL-терминацией в CentOS 8 / RHEL 8
RHEL / Nginx
Настройка виртуальных хостов NGINX в CentOS / RHEL
Containers
Настраиваем GitLab Container Registry
Информация

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

Комментарии

Салом, можно ещё создать файл в /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 Яндекс.Метрика

Авторизация

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