Например, если я хочу разделить свой блок предотвращения горячей ссылки от блока определения кеширования и поместить их в отдельные .conf
файл, который будет включен последним в main.conf, будет ли nginx соответствовать только первому?
location ~* \.(?:jpg|jpeg|gif|png|ico)$ {
valid_referers none blocked somedomain.com;
if ($invalid_referer) {
return 403;
}
}
...
location ~* \.(?:jpg|jpeg|gif|png|ico)$ {
expires 1M;
add_header Cache-Control "public";
}
Нет, я не верю, что это возможно из-за того, как nginx обрабатывает файл (ы) конфигурации. При обработке запроса nginx сопоставляет единственный блок местоположения. Итак, если у вас есть несколько блоков местоположения с одинаковыми критериями соответствия, будет использоваться только содержимое первого блока. Ознакомьтесь с документацией по фазам nginx: