deny access to fallback location
Maxim Dounin
mdounin на mdounin.ru
Вт Окт 12 19:54:55 MSD 2010
Hello!
On Tue, Oct 12, 2010 at 11:06:25AM -0400, a.a.vasiljev wrote:
> Здравствуйте.
>
> Локаций в проекте немного и хочется
> запретить системные вызовы (проверку
> существует файл или нет) для
> несуществующих локаций. Вот так:
>
> location ^~ /с/ {
>
> location = /с/с.nocache.js {
> # loader script
> ...
> }
>
>
> location ~ ^.+\.cache\. {
> # cache forever
> ...
> }
>
> ...
> }
>
> location = / {
> try_files /maintenance.html /index.html;
> expires 1s;
> }
>
> location ~ .* {
> deny all;
> }
>
>
> последняя локация вроде бы должна
> резать все прочие запросы, но с ней nginx
> возвращает 403 и для /. Как быть? Имеет ли
> смысл вообще ограничивать запросы к
> диску?
При запросе в "/" у вас делается внутреннее перенаправление в
"/index.html".
- try_files /maintenance.html /index.html;
+ try_files /maintenance.html /index.html =404;
Подробнее читать тут:
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#try_files
Just a side note: лучше вместо регулярного выражения использовать
обычный location:
- location ~ .* {
+ location / {
Maxim Dounin
Подробная информация о списке рассылки nginx-ru