Я хочу заблокировать определенные 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 / ноя / 2018: 17: 11: 46 +0000]
Где 10.10.10.5 - прокси HA.
Это все еще не работает. Есть идеи, что мне делать дальше?
"Где 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