Как разрешить доступ только с определенного хоста на Apache Httpd 2.4? - PullRequest
0 голосов
/ 05 декабря 2018

Я использую Apache Httpd 2.4 в качестве веб-сервера, и мне не удается разрешить доступ только с определенного хоста к URL-пути "/ x" на моем веб-сервере.

httpd.conf:

<Location "/x">
    Require host myhost.com
</Location> 

В основномон игнорирует «Требуется хост myhost.com» и ограничивает доступ со всех хостов.

authz_host, authz_core модули включены.

Я что-то пропустил?

Спасибо

1 Ответ

0 голосов
/ 05 декабря 2018

Чтобы заставить Require host работать, вы должны убедиться, что обратный просмотр DNS для вашего домена работает должным образом.Это делается с помощью PTR (указатель) записей в вашем DNS.Вы можете проверить это с помощью команды dig следующим образом:

$ dig +short www.google.de
172.217.22.67
$ dig +noall +answer -x 172.217.22.67
67.22.217.172.in-addr.arpa. 85372 IN    PTR fra15s17-in-f3.1e100.net.
67.22.217.172.in-addr.arpa. 85372 IN    PTR fra15s17-in-f67.1e100.net.

Обратите внимание, что IP-адрес записи PTR обратный: 172.217.22.67 <=> 67.22.217.172

Итак www.google.com имеет правильную запись обратного DNS.

Если в вашем домене не задан обратный указатель DNS, вы найдете такую ​​запись в журнале ошибок Apache (если только вы не настроили ее в другом месте).это должно быть /var/log/apache2/error.log):

[Wed Dec 05 16:18:23.854771 2018] [authz_core:error] [pid 4711] [client W.X.Y.Z:54050] AH01630: client denied by server configuration: /var/www/example.com/x

В качестве обходного пути вы можете просто использовать Require ip:

<Location "/x">
    Require ip W.X.Y.Z
</Location> 

, где WXYZ - ваш IP в соответствии с записью в ошибке.log.

Надеюсь, это поможет, если да, я был бы рад, если бы вы приняли ответ.

...