Требуется IP 127.0.0.1 иногда работает, а иногда "не будет
У меня очень просто .htaccess
файл:
<RequireAll>
Require all granted
# require localhost
Require ip 127.0.0.1
</RequireAll>
и это работает... иногда!
Иногда это бросит мне 403, и error.log
объясняет:
[client:: 1: 65443] AH01630: клиент отклонен из-за конфигурации сервера
Почему он не соответствует этому локальному клиенту Require ip 127.0.0.1
править?
4 ответа
Как оказалось, в Apache 2.4 Require точно соответствует IP. Если у вас есть несколько IP-адресов псевдонимов localhost
Вам необходимо перечислить все из них (или использовать специальный псевдоним, если таковой существует, как описано ниже).
В данном конкретном случае error.log
запись раскрывает все: клиент, подключенный через интерфейс IPv6 (ip ==::1). Это также должно быть в белом списке:
<RequireAll>
Require all granted
# require localhost
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</RequireAll>
Любые предложения относительно того, есть ли более простой / безопасный метод, чтобы сделать это, очень приветствуются!
Обновить
Как предполагает Helge Klein, Require local
это путь:
<RequireAll>
Require all granted
# require localhost
Require local
</RequireAll>
Я не использую.htaccess, так как на моей рабочей станции установлен Apache, и у меня есть полный доступ к файлу http.conf. Но для сайта, подобного phpmyadmin, где я хочу ограничить, откуда люди заходят, у меня есть это:
Require all denied
Require ip 127.0.0.1
Первая строка запрещает доступ всем, включая мою собственную рабочую станцию. Вторая строка добавляет IP-адрес localhost моей рабочей станции в список только разрешенных соединений.
Нет тегов RequireAll или RequireAny. Снова в.htaccess эти теги могут быть необходимы.
Требуется все предоставленные эквивалентно:
Order allow,deny
Allow from all
из более ранних версий Apache, которые открывают сайт всем желающим. Если вы хотите заблокировать сайт для всех, кроме определенных IP-адресов, вам следует начать с:
Require all denied
Вы можете найти больше информации здесь: Обновление до 2.4 с 2.2