Я хочу внести в белый список один IP-адрес для сайта, который я создал в файле виртуального хоста. В рамках <VirtualHost>
Я установил эти 2 основных правила:
ErrorDocument 403 /var/www/html/403.html
<Location />
Require ip xxx.xxx.xxx.xxx
</Location>
Когда я получаю доступ к сайту за пределами разрешенного IP-адреса, я получаю общую страницу Apache «Запрещено» вместо пользовательской страницы, которую я пытаюсь использовать. Я даже получаю дополнительное сообщение: «Кроме того, при попытке использовать ErrorDocument для обработки запроса произошла ошибка 403 Forbidden». Это имеет смысл, поскольку я не разрешаю доступ ни к одному URL-адресу для запрещенных IP-адресов, но, очевидно, я хотел бы сделать одно исключение для просмотра моей пользовательской страницы 403.
FWIW в VirtualHost, DocumentRoot уже установлен в / var / www / vhosts / blahblah, поэтому я решил, что /var/www/html/403.html не будет ограничен. Я видел некоторую форму этого вопроса, задаваемого на этом и других сайтах, но, похоже, ни у кого нет настоящего рабочего решения, особенно для 2.4 - присутствуют ли инженеры Apache? знак равно
Либо исключите Местоположение, содержащее страницу с ошибкой, из Location /
директива, запрещающая доступ, предшествующая этому с помощью
<Location/403.html >
Require all granted
</Location>
Или убедитесь, что документ с ошибкой находится за пределами Location /, что запрещено с помощью другого (под) домена для представления ошибки
Т.е. используйте что-то вроде:
ErrorDocument 403 https://errors.example.com/403.html