Привет, участники Serverfault.
Я хочу, чтобы мой NginX использовал дополнительный файл .htpasswd. Причина в том, что моя конфигурация динамически обслуживает веб-контент. На основе $ http_host.
Итак, я пробовал следующее:
if (-f "/foo/$http_host/.htpasswd") {
auth_basic "Restricted";
auth_basic_user_file "/foo/$http_host/.htpasswd";
}
Но это не работает, потому что auth_basic
не допускается внутри if
. Если я использую только две строки auth_basic, он показывает мне 403 для веб-контента без .htpasswd.
Есть ли возможность добиться этого без использования отдельного файла конфигурации для защищенного содержимого?
На стороне nginx это сделать невозможно, потому что nginx auth_basic_user_file не позволяет использовать переменные.