Блокировка IP с помощью.htaccess в Apache 2.4 - не работает
Я хочу заблокировать определенные IP-адреса, но разрешить все остальные. Я все еще борюсь с этим.
Сначала я изменил apache2.conf
файл выглядит так:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
AllowOverride
от None
в All
Затем добавлен в .htaccess
в соответствии с документацией Apache2 ниже:
Директивы Allow, Deny и Order, предоставляемые mod_access_compat, устарели и исчезнут в следующей версии. Вам следует избегать их использования и избегать устаревших руководств, рекомендующих их использование.
Итак, более перспективный ответ будет:
<RequireAll>
Require all granted
Require not ip XXX.XXX.XXX.XXX
</RequireAll>
где XXX.XXX.XXX.XXX - мой IP
в access.log
Я вижу это:
10.10.10.5 (XXX.XXX.XXX.XXX) - - [27 / Nov / 2018: 17: 11: 46 +0000]
Где 10.10.10.5 - прокси HA.
Это все еще не работает. Любые идеи о том, что мне делать дальше?
1 ответ
"Где 10.10.10.5 - прокси HA"
Ваш Apache за обратным прокси?
Потому что обычно это приводит к тому, что Apache будет видеть только ip-адрес обратного прокси-сервера в качестве ip-адреса клиента (а не фактический ip-адрес клиента), что делает невозможным ограничение общих ip-адресов.
HAProxy может быть настроен для пересылки действительного IP-адреса клиента (см. https://www.haproxy.com/blog/haproxy/proxy-protocol/), и Apache необходимо будет перенастроить для использования этого IP-адреса клиента с помощью https://httpd.apache.org/docs/2.4/mod/mod_remoteip.html и тогда вы можете ожидать, что клиентская фильтрация IP-адресов работает, как и ожидалось в Apache httpd