В чем разница между Nginx ~
и ~*
регулярные выражения?
Например:
if ($http_referer ~* www.foobar.net) {
...
}
против
if ($http_referer ~ www.foobar.net) {
...
}
~: Если присутствует модификатор тильды, это местоположение будет интерпретировано как совпадение регулярного выражения с учетом регистра.
~ *: Если используются модификаторы тильды и звездочки, блок местоположения будет интерпретироваться как совпадение регулярного выражения без учета регистра.
cduffin правильный.
Вот пример использования этого регулярного выражения для блока местоположения, чтобы отклонить URI, которые пытаются получить доступ к определенному типу файла (при условии, что мы используем try_files ниже в конфигурации nginx)
location ~* \.(txt|log|config)$ {
return 403;
}