Деректіва nginx - location з прикладами

Директива location служить для установки конфігурації в залежності від URI-запиту. Синтаксис location в загальному вигляді наступний:

Перед тим, як перейти до більш детального вивчення, потрібно зауважити, що location визначається в контексті server (або в location в разі вкладеної директиви), і в одному розширеному віртуальному хості можуть використовуватися різні конфігурації в залежності від оброблюваного сервером URI.

Префікс «@» ( «собака») визначає іменовані розташування. Такі location'и не використовуються для обробки звичайних запитів. Замість цього вони використовуються для перенаправлення запитів (приклад №6). Вони не можуть бути вкладеними і містити в собі вкладені.

  1. = Строкові збіги. Якщо знайдено, перевірка закінчується. = Значить повний збіг шаблона і перевіряється рядки, наприклад = / - захід у секцію буде виключно для кореня, і навіть файли в корені вже сюди не підходять.
  2. ^

Пріоритетне значення рядка. Хоча по-моєму було б правильніше назвати «пріоритетним регулярним виразом», оскільки на відміну від = потрібно збіг тільки почала. ^

/ Повністю відключить регулярні вирази для секції server, якщо немає більш точного location без ^

* Регулярні вирази, в порядку визначення в конфіги. При збігу - виконується цей регексп, перевірка закінчується.

- з урахуванням регістра,

* - без.
  • Якщо не було знайдено відповідної регулярки, використовується найбільша збіг з п.3.
  • Приклади використання location

    Приклад конфігурації №1. Для кореневого URI «/»

    Приклад конфігурації №2. базовий location

    Приклад конфігурації №3. Для URI виду «/data/.*»

    Приклад конфігурації №4. Для URI виду «/img/.*»

    Приклад конфігурації №5. Для графічних форматів

    Приклад конфігурації №6. іменований location

    Приклад конфігурації №7. виділення змінної

    Приклади реальних nginx location'ов

    Anti-hotlinking

    Директива location для Anti-hotlinking (боротьби з використанням ресурсів з вашого сервера на сторонніх ресурсах. Такий спосіб використання ваших мережевих ресурсів називається hotlinking). Така поведінка хитрих розробників може помітно збільшити навантаження на ваш сервер. конфігурація:

    Заборона на скрипти всередині директорій

    Наступний приклад - заборона на скрипти в дозволених для запису директоріях:

    включення autoindex

    У наступному прикладі location використовується для включення autoindex в nginx (Дозвіл на висновок лістингу каталогу):

    Проксінг Nginx на інший IP