У меня настроена nginx конфигурация для массового динамического c виртуального хостинга:
server {
listen 80;
server_name *.example.com;
set $site_root /var/www/$host;
location / {
root $site_root;
}
}
Это работает, но теперь я хочу включить дополнительную аутентификацию HTTP Basi c для некоторых из виртуальные хосты, поэтому я изменил блок location
на:
location / {
root $site_root;
if (-f $site_root/.htpasswd) {
auth_basic "Authentication required";
auth_basic_user_file $site_root/.htpasswd;
}
}
Но nginx говорит, что эта новая конфигурация недействительна:
$ nginx -t
nginx: [emerg] "auth_basic" directive is not allowed here in /etc/nginx/nginx.conf:123
nginx: configuration file /etc/nginx/nginx.conf test failed
Вопрос: как я могу реализовать опциональную аутентификацию Basi c в конфигурации, которая позволяет массовые динамические c виртуальные хосты?