TGViewer
DevOps 360° DevOps 360° @devops360 · 326 subscribers
Post #56 257
БОНУС по просьбам трудящихся!!!

### Значение переменных $uri и $uri/

1. `$uri` — это переменная, которая содержит путь к запрашиваемому ресурсу, не включая параметры запроса. Например, если пользователь запрашивает http://example.com/images/pic.jpg, то значение $uri будет равно /images/pic.jpg.

2. `$uri/` — добавление слэша в конце этой переменной может использоваться для обработки запросов к директориям. Если клиент запрашивает http://example.com/images/, то $uri/ будет равно /images/.

3. `=404` — этот символ указывает на то, что если запрашиваемый ресурс не найден, сервер должен вернуть ошибку 404. Это бывает полезно, чтобы гарантировать, что при некотором пути не будет возвращён ответ 200 OK, если ресурс отсутствует.

### Пример использования в конфигурации Nginx

Рассмотрим, как эти переменные могут быть использованы в конфигурационном файле Nginx:

server {
listen 80;
server_name example.com;

location / {
try_files $uri $uri/ =404; # Попытка найти файл или директорию, иначе 404
}

location /images/ {
alias /var/www/images/; # Отображение содержимого из другой директории
}

location /api/ {
proxy_pass http://backend:5000; # Проксирование запросов к другому серверу
}
}


### Различные варианты location

1. Точное совпадение:
Для обработки точных запросов можно использовать =. Это означает, что Nginx будет обрабатывать запрос только при точном совпадении. Например,


   location = /robots.txt {
allow all;
log_not_found off;
}


2. Префиксное совпадение:
Использует location /prefix/ {} для обработки всех запросов, начинающихся с заданного префикса. Это позволяет обрабатывать запросы к разным частям сайта.

3. Регулярные выражения:
Можно использовать регулярные выражения для более сложных сценариев обработки. Например,


   location ~* \.(jpg|jpeg|png|gif)$ {
expires 30d; # Установка кэширования для изображений
}


4. Вложенные URL:
Если у вас есть несколько уровней вложенности, вы можете комбинировать их в разных блоках location. Например,


   location /products/ {
try_files $uri $uri/ /404.html; # Попробуйте найти, если нет - 404
}

location /products/item/ {
proxy_pass http://backend:8080/products/item/; # Проксирование для конкретного маршрута
}


5. Обработка ошибок:
Также можно использовать блоки error_page для обработки специфичных ошибок. Например,


   error_page 404 /404.html;


### Резюме

Конфигурация Nginx позволяет гибко управлять обработкой запросов для различных URI через использование блоков location, различных переменных и механизмов обработки ошибок. Каждый разработчик может настроить свой веб-сервер под уникальные потребности, учитывая все вышеперечисленные аспекты.

Не забывайте тестировать конфигурацию вашего сервера и перезапускать Nginx после внесения изменений. Вы можете использовать следующую команду в терминале:

sudo nginx -t && sudo systemctl restart nginx


Это позволит вам убедиться, что ваши настройки корректны, и перезапустит Nginx для применения изменений. 😊

ВСЕХ С ДОЛГОЖДАННЫМИ ВЫХОДНЫМИ!
🔝 Наш чат для обсуждений |🚀 Буст для канала
  • ❤ 3
More from @devops360
  1. Sep 28, 2026🔥 УРА, НОВОСТНЫЕ НОВОСТИ! (МНОГО БУКВ) 🔥 В современном IT процветает какой-то безумный к…
  2. Jul 20, 2026ПРИВЕТ! КРЧ если вкратце, то думаю через пару лет будем переходить с ямл инженеров и полно…
  3. May 21, 2026ХЕЛОУ! 🚀 Ingress NGINX — ВСЁ. Почему пора переезжать на Gateway API Главный сетевой контр…
  4. Jan 20, 2026ХЕЛЛОУ ГАЙЗ! смотрите какую интересную штуку мне подсказали , можно проверить свои знания…
  5. Nov 21, 2025Хелоу! Ingress NGINX уходит: что важно знать Kubernetes объявил о завершении поддержки Ing…
  6. Nov 14, 2025Всех с пятницей! Накидал доку как для себя так и для общего пользования по накатке бекапа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →