Есть некий хост, нужно сделать доступ по логину стандартными средствами сервера. Сделано, работает. Затем появилась идея сделать свободный доступ с локалки, а остальным оставить 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>