internal и allow/deny

Роман Маширов mrj at nandu.ru
Mon Feb 9 14:51:51 MSK 2009


Добрый день!

Есть location, из которого отдаются закешированные файлы в ssi. Если 
файла нет, запрашиваем бэк:

        location /block {
            root /.../cache_back;

            error_page   404  =  @fallback;
            log_not_found off;
        }

Далее, блоки показывать пришедшим снаружи не хочу, поэтому добавляю 
internal. В результате все запросы снаружи на /block ломятся на бэк. 
Поведение соответствует документации, но не здравому смыслу...

        location /block {
            root /.../cache_back;

            error_page   404  =  @fallback;
            internal;
            log_not_found off;
        }

Если запретить доступ для всех, кроме самого фронта:

        location /block {
            root /.../cache_back;

            error_page   404  =  @fallback;
            internal;
            allow 127.0.0.1;
            deny all;
            log_not_found off;
        }

Получаю еще более странную штуку -- запросы все равно ломятся на бэк. По 
всей видимости internal имеет более высокий приоритет чем allow/deny? Я 
что-то упустил, или internal в таком случае неприменим? Может логичнее 
было бы отдавать 403 на internal а не 404?

--
MRJ





More information about the nginx-ru mailing list