Vitaly2012

Рейтинг
120
Регистрация
05.01.2012
Апокалипсис:
1. Сколько серверов? 1, 2, 100 ? Если 1-2, то думаю пофигу.
2. Можно же данные доставить интернетом уже позже.

1. 4 сервера

2. Можно, но это лишний гемор. Для каждого из серверов придется бэкапить 4 SAS диска по 1Тб, форматировать, отправлять данные, восстанавливать. Поэтому и интересуют правовые вопросы такой пересылки.

Большое вам спасибо, помогли ))

Оптимизайка, Да, это оно ). Вот так

SetEnvIf X-FORWARDED-FOR 111.222.333.444 denyclient

Deny from env=denyclient

действительно можно забанить через htaccess в моем случае.

Спасибо огромное, уже не раз выручаешь!

r0mik:
рекомендуют при наличии заголовка HTTP_CF_CONNECTING_IP подставлять из него значение в REMOTE_ADDR.

Я на сервере вижу IP cloudflare в переменной REMOTE_ADDR и вижу реальный IP в HTTP_CF_CONNECTING_IP.

Если я сделаю это

r0mik:
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; }

то при наличии HTTP_CF_CONNECTING_IP обе переменные получат одинаковое значение. Какой в этом смысл?

Мне нужно заблокировать пользователя, пришедшего с адреса HTTP_CF_CONNECTING_IP. Если в htaccess я запишу

deny from (значение из HTTP_CF_CONNECTING_IP)

так он не заблокируется.

А если запишу

deny from (значение из REMOTE_ADDR)

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

У меня апач 2.2 под виндовс. Устанавливал на него mod_cloudflare 1.0.1 и 1.0.2 из этой темы https://www.apachelounge.com/viewtopic.php?t=3876

Так-же есть апач 2.4, под него ставил этот мод https://www.apachehaus.net/modules/mod_cloudflare/ Вроде ошибок нет, но в логах по прежнему IP cloudflare. Может там еще настройки нужны какие-то? Хотя в инструкции по установке ничего такого нет.

Оригинальный IP я получаю через переменную cf-connecting-ip, но что толку, как им воспользоваться?

AdelinaHost:
Как я понял вы хотите заблокировать какой то IP? Если да, то в cloudflare есть блеклист. Добавьте туда плохой IP

Раньше я php скриптом добавлял в htaccess блокировку нужных IP, теперь получается только вручную через сайт cloudflare ?

Оптимизайка:
https://support.cloudflare.com/hc/en...ng-Visitor-IPs

Там много ссылок, что конкретно мне поможет?

Просто апач

Вроде нашел, но получил новую проблему.

В виртуал хосте у меня было указано

<VirtualHost *:80>

ServerName "site.ru"

ServerAlias "site.ru" "*.site.ru"

DocumentRoot "/user/site.ru/"

.....

То есть основной сайт у меня открывался по всем поддоменам 1.site.ru, 2.site.ru, любой_поддомен.site.ru

Из-за этого как я понял и была эта проблема, что ip записывался в виде хоста.

И я переделал так

<VirtualHost *:80>

ServerName "site.ru"

ServerAlias "site.ru" "www.site.ru"

DocumentRoot "/user/site.ru/"

.....

а для того, чтобы не терять трафик с поддоменов (если они проиндексированы), поставил ниже

в httpd.conf

<VirtualHost *:80>

ServerName "site.ru"

ServerAlias "*.site.ru"

DocumentRoot "/user/site.ru/all/"

.....

А в папку all закинул htaccess c содержимым

Redirect 301 / http://site.ru/

Теперь оно работает так, если клиент заходит на site.ru или www.site.ru его кидает в папку /user/site.ru/,

а если заходит на любой другой поддомен, его кидает в папку /user/site.ru/all/, а оттуда на http://site.ru/

Но после этого в логах появились такие ошибки

[Sat Jun 23 21:19:28 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://gadanie.site.ru/

[Sat Jun 23 21:19:28 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://gadanie.site.ru/

[Sat Jun 23 21:19:55 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://forum.site.ru/

[Sat Jun 23 21:19:56 2018] [error] [client 173.249.24.45] client denied by server configuration: /user/site.ru/all/, referer: http://forum.site.ru/

Что я не правильно сделал?

Оптимизайка:
Vitaly2012, значит настройки виртуальных хостов разные, в одном сайте есть HostnameLookups а в другом нет, а валится все в один лог. См. .htaccess'ы, там могут переопределяться настройки основного конфига апача.

Все виртуалхосты одинаковые, опции HostnameLookups там нет (

Для каждого виртуалхоста указан свой лог, поэтому все в один лог не валится.

.htaccess'ы смотрю, пока там тоже ничего не нашел.

Оптимизайка:
Vitaly2012, потому что не у всех ip прописан PTR.

Даже вот взять две записи из лога, которые идут подряд

66.249.64.22

crawl-66-249-64-22.googlebot.com

Не может же быть такого, чтобы у одного ip был прописан PTR, а у другого - нет. Они ведь одинаковы эти ip.

И кстати, что интересно на некоторых сайтах, которые работают на этом-же apache такого не происходит, в лог записываются только IP.

Всего: 293