Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Офтоп, apache, конструкции RequireAll, RequireNone, RequireAny  (Прочитано 702 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн asp2chief

  • Автор темы
  • Активист
  • *
  • Сообщений: 265
    • Просмотр профиля
Есть некий хост, нужно сделать доступ по логину стандартными средствами сервера. Сделано, работает. Затем появилась идея сделать свободный доступ с локалки, а остальным оставить auth И тут началось.. Доступ с локалки работает, а все остальное forbidden :\ Уже как не изворачивался, куча времени в топке. Оставляю вам пример, посмотрите пожалуйста, может кто сталкивался и помнит как расположить дерективы!? Буду очень признателен и заранее благодарен!

<VirtualHost *:80>

ServerAdmin admin@mail.su
DocumentRoot /var/www/sig
ServerName sig.somehost.org
ServerAlias www.sig.somehost.org

<Directory /var/www/sig/>
Options FollowSymLinks
DirectoryIndex index.html index.php
AllowOverride All

# make secure
<RequireAll>
<RequireAny>
Require ip 192.168.88.1 192.168.88.250/31
</RequireAny>
<RequireNone>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</RequireNone>
</RequireAll>
</Directory>

<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/sig_error.log
CustomLog ${APACHE_LOG_DIR}/sig_access.log combined

</VirtualHost>

Цитировать
Нашел решение..
Цитировать
Директива Require может быть указана многократно, каждая следующая с новой строки. Так же директивы Require могут быть сгруппированы в секции при помощи тегов-директив <RequireAll>, <RequireAny>, <RequireNone>. Если в конфигурационном файле присутствует несколько директив Require без группирующих тегов, то в этом случае все такие директивы считаются по умолчанию обернутыми в групповой тег <RequireAny>, а это значит, что доступ будет разрешен, если хотя бы одна из таких директив исполниться. И в этом случае все остальные директивы, после первой исполненной, будут проигнорированы. Это нужно понимать и помнить, т.к. в этом случае порядок следования директив будет иметь значение. Более детально, всегда необходимо смотреть документацию по соответствующему модулю в каждом конкретном случае использования директивы.

<Directory /var/www/sig/>
Options FollowSymLinks
DirectoryIndex index.html index.php
AllowOverride All

# make secure
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Require ip 192.168.88.1 192.168.88.250/31
</Directory>
« Последнее редактирование: 19 Июня 2018, 05:19:02 от asp2chief »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Кто писал этот бред.
Нет никаких "первых исполненных". Проверяются все требования, а решение принимается в зависимости от блока.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.03 секунд. Запросов: 25.