Вкратце: запрос попадает только в один location. location с регулярными выражениями обрабатываются первыми. Ваши запросы попадают в один из location с регулярными выражениями, в которых никакого basic_auth нету.
Починить можно примерно так:
location / {
location ~* (css|js|...) { ... }
<и т.д.>
}
location /blocked/ {
auth_basic ...;
}
PS: если nginx не понимает чего-то в конфиге он скажет об этом при запуске. То есть при наличии в конфиге auth_basic и отсутвию auth модуля nginx попросту не запустится. Вы изначально копали не в ту сторону.
--
Vladimir Rusinov
http://greenmice.info/