- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Это прописал в nginx.conf
map $geoip_country_code $allowed_country {
default yes;
ID no;
IN no;
RU no;
}
А это в domain.com.conf
if ($allowed_country = no) {
return 444;
}
...
Там где сайт работает без cloudflare, там все норм. А там где cloudflare пользователи из заблокированных стран получают свободный доступ.
По выхлопу как тогда должно работать? Непонятно.
Есть 2 домена, один на dns яндекса, другой на cloudflare. В первом случае правила nginx работают, а во втором - нет.
iccup, если надо побыстрому накостылить блокировку - в php проверять $_SERVER['HTTP_CF_IPCOUNTRY'] это страна передаваемая клаудфларом.
iccup, а nginx у вас учитывает реальные ip посетителей или в логи например толлько ip cloudflare пишет?
https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx-
надо чтоб реальные ip были.
если вы хотите пользоваться модулем geoip из nginx, то вам необходимо задать в параметре geoip_proxy ip-шники cloudflare из списка по ссылке выше.
ну и наконец cloudflare сам делает geoip, так что можно просто воспользоваться этими данными, т.е. заменить вашу конструкцию в nginx.conf на:
В панели управления cloudflare для этого должен быть включен параметр ip geolocation:
P.S. cloudflare умеет сам блокировать по странам, поэтому в nginx можно вообще ничего не писать :D Но это за деньги.
Оптимизайка, еще надо при таком зоопарке настроек не заблочить страну через которую кдаудфлар проксирует, а там у него стран куча.
Оптимизайка, еще надо при таком зоопарке настроек не заблочить страну через которую кдаудфлар проксирует, а там у него стран куча.
О каком зоопарке идет речь? у cloudflare конечный список ip, который приведен в документации (если пользоваться geoip nginx, в таком случае будет учитываться ip пользователя), а если пользоваться его средствами (заголовок http_cf_ipcountry), то это страна пользователя, а не самого сервера cloudflare. Не понимаю, каким образом можно "заблокировать страну, через которую cloudflare проксирует".
Оптимизайка, в бесплатном есть 5 бесплатных Firewall Rules, в одном их них можно блокировать все нужны города.
iccup
если вы хотите пользоваться модулем geoip из nginx, то вам необходимо задать в параметре geoip_proxy ip-шники cloudflare из списка по ссылке выше.
ну и наконец cloudflare сам делает geoip, так что можно просто воспользоваться этими данными, т.е. заменить вашу конструкцию в nginx.conf на:
В панели управления cloudflare для этого должен быть включен параметр ip geolocation:
P.S. cloudflare умеет сам блокировать по странам, поэтому в nginx можно вообще ничего не писать :D Но это за деньги.
А какая разница между "за деньги" и способом приведенным выше?
А какая разница между "за деньги" и способом приведенным выше?
Судя по этой документации Cloudflare:
https://support.cloudflare.com/hc/en-us/articles/200171426-Why-can-t-I-block-by-country-in-the-IP-Firewall-
блокировка по стране (не страница заглушки с капчей, а именно блокировка) доступна только для Enterprise plan. Возможно, что-то изменилось, я не в курсе.
А блокировку на уровне nginx можно сделать вне зависимости от тарифного плана cloudflare.
Если нужна именно блокировка, а не иные действия, то конечно лучше проводить её на уровне самого cloudflare, если в вашем тарифном плане это допустимо.