Я написал простое приложение для просмотра файлов, которое обслуживается узлом на порту 3000. Я использую nginx в качестве интерфейса, который проксирует эту службу. Это на моем домашнем сервере.
Я хотел бы иметь возможность требовать базовую HTTP-аутентификацию, когда я обращаюсь к нему по общедоступному IP-адресу, но не когда я дома. У меня такая конфигурация:
location /files {
satisfy any;
allow 10.1.0.0/24;
deny all;
auth_basic "Authentication Required";
auth_basic_user_file /etc/access_list;
proxy_pass http://127.0.0.1:3000/;
}
Однако это не работает. Когда я нахожусь в своей домашней сети в той же подсети, мне все еще требуется выполнить базовую аутентификацию HTTP. Я думал, что порядок «разрешить> запретить> авторизация» в паре с «удовлетворить любое» является правильным. Я здесь что-то не так делаю? Это возможно?
В приведенной выше конфигурации есть опечатка. Подключение осуществляется с 10.1.1.157, но файл конфигурации позволяет только с 10.1.0.0/24.
Исправление простое: замените проблемную строку на следующую:
allow 10.1.1.0/24;