Блокировка 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

Другие вопросы по тегам