Ключом является директива Limit
. Подсказка находится в разделе
Directive на странице документации core
mod Apache.
При использовании директив
или
с параметром
Require
обратите внимание, что первыйRequire
для успешного выполнения разрешает запрос, независимо от наличия других директивRequire
.
Как оказалось, первое Require
, соответствующее рассматриваемому случаю, определяет, как оно будет обработано. С конфигурацией из моего вопроса, а именно:
Require all granted
Require all denied
AuthType Basic
AuthName "Personal HTML"
AuthUserFile "/usr/share/apache2/passwd/passwords"
Require valid-user
с простым запросом GET, это Require all grant
во второй строке приведенного выше листинга, который делает это. AuthType Basic
и другие строки ниже него являются мертвым кодом. Правильный путь:
AuthType Basic
AuthName "Personal HTML"
AuthUserFile "/usr/share/apache2/passwd/passwords"
Require valid-user
Require all denied
Кстати, вот случай, когда директива Limit
игнорируется.
Require all granted
AuthType Basic
AuthName "Personal HTML"
AuthUserFile "/usr/share/apache2/passwd/passwords"
Require valid-user
Require all denied
Первая строка завершается успешно и авторизует запрос.
Вы не упомянули, какой у вас дистрибутив; это Fedora 24? У меня есть Fedora 25. Я только что запустил dnf update
, и после его завершения (это заняло около 20 минут) запуск rpm -q libnl3
дает libnl3-3.2.29-2.fc25.x86_64
, что вам и нужно.
Мне нужно добавить, что перед запуском dnf update
у меня была libnl3-3.2.28-3.fc25.x86_64
, а не 3.2.27, как у вас.
Что касается libnl-3-dev
и libnl-genl-3-dev
: это пакеты Ubuntu / Debian, а не пакеты Fedora / CentOs. Я установил параллельный пакет Fedora libnl3-devel
(снова на эту машину F25) с помощью dnf install libnl3-devel
, и он установил libnl3-devel-3.2.29-2 .fc25.x86_64
. Не уверен насчет libnl-genl-3-dev
.
Рами Розен
Мне кажется, что в Fedora нет такого пакета. Если вы посмотрите на содержимое пакета Ubuntu libnl-genl-3-dev, то увидите, что на самом деле он состоит всего из 4 файлов, и главный из них: /lib/libnl-genl-3.so
например, здесь:
http://packages.ubuntu.com/precise/amd64/libnl-genl-3-dev/filelist
Однако, когда вы посмотрите на содержимое libnl3-devel rpm Fedora, вы обнаружите, что /lib/libnl-genl-3.so включен в файлы, предоставляемые libnl3-devel: http://rpmfind.net/linux/RPM/fedora/updates/25/x86_64/l/libnl3-devel-3.2.29-2.fc25.i686.html
Тот факт, что он появляется там как /usr/lib/lib/libnl-genl-3.so, а не как /lib/lib/libnl-genl-3.so не важен.
Таким образом, похоже, что в Fedora libnl3-devel содержит также libnl-genl-3-dev.
Рами Розен