Здравствуйте!

Вопрос коротко: является ли

rewrite ... redirect на 100% безопасным при использовании if внутри location.


Подробнее:

В https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/

The only 100% safe things which may be done inside if in a location context are:

  * return
    <https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return>
    ...;
  * rewrite
    <https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite>
    ... last;

то есть единственным вариантов rewrite на 100% безопасным с if в location написан rewrite с last. Учитывая написанное в статье далее и моё понимание nginx предполагаю, что rewrite можно не только с last, но так же с redirect и permanent, так как исключают выполнение других директив в рамках этого локейшена.

"Возможно опасными" тут могут быть только break и, вероятно, отсуствие флагов rewrite так как оставляют возможность выполнения других директив не из модуля rewrite.

Я прав?

С уважением, Иван.

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить