# конспект · шаг 4 из 4
Конспект: приоритеты server_name
Сайт выбирается по заголовку Host, и порядок здесь жёсткий.
Порядок приоритетов
1. точное имя server_name shop.local;
2. маска в начале server_name *.shop.local;
3. маска в конце server_name shop.*;
4. регулярное выражение server_name ~^shop\d+\.local$;
Регулярка - последняя, а не первая. Любая маска побьёт любую регулярку.
Что полезно знать сразу
- имён может быть несколько через пробел:
server_name shop.local www.shop.local; ~начинает регулярку,~*делает её нечувствительной к регистру;- в регулярке можно захватывать имя и использовать как переменную:
server_name ~^(?<tenant>.+)\.shop\.local$;
root /var/www/tenants/$tenant;
server_name "";совпадает с запросами без заголовка Host.
Ловушки джокера
- «Регулярка же точнее, значит сработает». При наличии
*.shop.localрегулярка~^api\d+\.shop\.local$не сработает никогда. - Звёздочка не заменяет пустоту:
*.shop.localне совпадёт сshop.local. Оба имени пишут явно. - Забытый
www- самая частая причина «на одном адресе сайт есть, на другом нет».
Комментарии
Пока нет комментариев. Будь первым!
Оставить комментарий