NginX: rewrite или return?

При настройке сервера NginX мы все добавляем правила для нужного нам вывода URL: вывод только HTTPS и без WWW, например.
Это делается двумя методами:
1) Return:
return 301 https://www.domain.com$request_uri;
return 301 $scheme://domain.com$request_uri;

2) Rewrite:
rewrite ^(.*) https://$host$1 permanent;
rewrite ^ https://$host$request_uri? permanent;

Согласно Официальной документации NginX предпочтительнее использовать Return, так как он менее затратный, не требует обработки регулярных выражений и создания пользовательских переменных. При этом разницы между методами ни в плане интерпретации браузером, ни в плане того же SEO нет. Однако, с return можно поймать CRLF инъекцию если в конфигурации будет конструкция вида:
return 302 https://$host$uri;
Так что в итоге правильнее и безопаснее использовать?
  • Вопрос задан
  • 387 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы