iandriyanov
@iandriyanov

Nginx просит авторизацию, снова?

server {
                listen *:80;
                server_name     site.local;

                satisfy  any;
                allow 127.0.0.0/16;
                allow 192.168.140.0/24;
                allow 192.168.142.0/24;
                allow 192.168.144.0/24;
                
                auth_basic              "site.local";
                auth_basic_user_file    /www/passw;



Вот такой конфиг в location / {} — все одно просит авторизоваться будучи находясь естественно в указанной сети. ЧЯДНТ?
  • Вопрос задан
  • 3538 просмотров
Решения вопроса 1
Ilya_Drey
@Ilya_Drey
satisfy нужно указывать в конце, именно эта команда всех остальных будет кидать на basic auth.

Рабочий вариант:

server {
	listen *:80;
	server_name     site.local;

	auth_basic              "site.local";
	auth_basic_user_file    /www/passw;

	allow 127.0.0.0/16;
	allow 192.168.140.0/24;
	allow 192.168.142.0/24;
	allow 192.168.144.0/24;
	deny all;
   
	satisfy  any;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
maxout
@maxout
в порядке бреда: попробуйте всё же добавить подразумеваемую строчку deny all; после вашего списка разрешенных
Ответ написан
Ramzeska
@Ramzeska
Добавьте deny all после директив allow. А то по сути http_access и не срабатывает
Ответ написан
Ilya_Drey
@Ilya_Drey
Так а что происходит то? Вы уверены что Вы реально смаршрутизированы на site.local таким образом чтобы как source address Nginx видел адрес из вышеописанных сетей?
Ответ написан
Комментировать
У меня руки никак не доходили разобраться почему не работают директивы. Сегодня догадался заглянуть в лог nginx. Суть такова, что мой сайт из внешней сети доступен через маршрутизатор. Как следствие, все запросы по доменному имени из внутренней сети идут не напрямую на внутренний адрес, а заворачиваются маршрутизатором от имени внешнего IP. Т.е. чтобы заработало, нужно добавить строчку allow ВНЕШНИЙ_IP. Вот такое банальное решение, стоило только включить голову :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы