Применение правил IP только к HTTP (и не к HTTPS) с .htaccess - PullRequest
1 голос
/ 29 марта 2012

Я недавно настраивал список заблокированных IP-адресов, и мне было интересно, можно ли заблокировать IP-адрес, который подключается через HTTP, и не блокировать их, если они подключаются через HTTPS.Была запись о правилах SO .Htaccess для перенаправления соответствующих HTTP-ссылок на HTTP и HTTPS на HTTPS? , которая аналогична, но использует mod_rewrite, с которой у меня был ужасный опыт и которая дала мне только 500 ошибокпрошлое .Есть ли способ сделать это со стандартным форматом?

order allow,deny 
allow from 192.168.1.0/24
deny from all

Мне также нужна поддержка адресов IPv6.Если метод перезаписи является единственным вариантом, можете ли вы в своем ответе включить ссылку, на которую я мог бы посмотреть, чтобы выполнить мою задачу правильно?Большое спасибо!

Я использую Apache / 2.2.20 (Ubuntu)

1 Ответ

1 голос
/ 29 марта 2012

То, что вы хотите, не встроено в механизм Apache .htaccess.Просто: никакие команды уровня протокола не поддерживаются mod_auth или mod_access.Более того, то, что вы ищете, нарушает ожидаемое предположение, что если вы предоставите ресурс по HTTP, тот же путь будет работать по HTTPS.Это приведет к неожиданным результатам для людей, использующих HTTPS forceforrs .

Но, если вы намерены сделать что-то подобное, я бы порекомендовал Squid .Вы можете использовать его для выполнения любых изящных задач, таких как отказ в доступе к кешу по определенным протоколам для каждого файла или иная обработка данных, поступающих с вашего сервера Apache, прежде чем вы предоставите их своим пользователям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...