auth_basic error nginx: [emerg] "auth_basic" directive is not allowed here in

shambler81 nginx-forum at nginx.us
Wed Oct 15 11:55:07 UTC 2014


http://nginx.org/ru/docs/http/ngx_http_auth_basic_module.html
По документации все должно работать  вот так:

if ($host ~ "(dev|pma).example.com" ) {
        auth_basic            "Website development";
        auth_basic_user_file  /var/www/domain.com/www/dev/authfile;
}


Но оно выдает: auth_basic error nginx: [emerg] "auth_basic" directive is not
allowed here in
В реалии приходится делать костыль

 error_page 555 = @pass;
                location @pass {
                auth_basic "Unauthorized"; 
                auth_basic_user_file /var/www/dev_htpasswd; 
                proxy_pass http://dev.zap-dom.ru:82;
                proxy_set_header Host dev.zap-dom.ru;
                proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                }

# В location / вписывем  условие
if ($http_host ~* "^dev\..*\..{2,8}$"){
                return 555;
                }

ПОЧЕМУ ?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253994,253994#msg-253994



Подробная информация о списке рассылки nginx-ru