Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Nginx: Как закомментировать сразу несколько строк?

В Nginx-командах не поддерживается мультистрочный комментарий, как это принято в языках программирования вроде JavaScript или Python. Каждую строку нужно комментировать отдельно символом # в начале строки.

Пример:
Допустим, у вас есть следующий блок:
location /api {
    proxy_pass http://backend-api;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

Чтобы закомментировать его целиком, ставьте символ # перед каждой строкой:
# location /api {
#     proxy_pass http://backend-api;
#     proxy_set_header Host $host;
#     proxy_set_header X-Real-IP $remote_addr;
# }

Альтернативный способ (Быстрое выделение)


Если вы работаете в редакторе с поддержкой выделения текста (например, vim, VSCode, Sublime Text), вы можете выделить нужный блок и автоматически добавить символ комментария к началу каждой строки. Это удобно и быстро.

Итог:
Комментарии в Nginx всегда однострочные, и каждая строка должна быть отмечена символом #....

Nginx: map

В мире веб-разработки каждая деталь имеет значение. Один неверный параметр или неправильно сконфигурированный модуль могут серьёзно снизить производительность и вызвать неудобства у пользователей. Одной из уникальных возможностей Nginx является модуль map, позволяющий динамически изменять переменные в зависимости от условий. Сегодня мы детально рассмотрим, что это за модуль, зачем он нужен и как его использовать на практике.

Что такое модуль map?


Модуль map — это особый компонент Nginx, предназначенный для динамического формирования переменных на основании определённых критериев. Например, можно создать условия, при которых переменная изменяется в зависимости от содержимого заголовка запроса, URL или даже IP-адреса клиента.

Основное назначение модуля — создание динамических связей между параметрами запроса и поведением сервера. Это открывает широкие возможности для оптимизации производительности, обеспечения безопасности и персонализации выдачи контента.

Принцип работы модуля map


Работа м...

Nginx vs Apache: Сравнение подходов и производительности

Современные веб-проекты требуют мощных, надежных и быстрых технологий для обслуживания миллионов пользователей ежедневно. Среди наиболее востребованных решений выделяются Nginx и Apache — два легендарных веб-сервера, обладающие уникальными характеристиками и преимуществами. Каждый из них имеет сильные и слабые стороны, зависящие от поставленных задач. Давайте сравним эти два продукта по нескольким важным критериям.

История и архитектура



Nginx
Разработанный российским программистом Игорем Сысоевым в 2002 году, Nginx изначально задумывался как эффективное средство борьбы с проблемой C10K (одновременная обработка 10 тысяч соединений). Nginx построен вокруг концепции асинхронной неблокирующей архитектуры, что позволило достичь высокого уровня производительности и масштабируемости.

Apache
Появившийся в середине 1990-х годов, Apache долгое время доминировал на рынке веб-серверов. Он основан на традиционной блокирующей архитектуре с возможностью использования многопоточности или...

Nginx: Современный Веб-Сервер для Высоконагруженных Проектов

Сегодня большинство крупных веб-проектов сталкиваются с необходимостью обеспечивать высокую скорость обслуживания большого объема трафика. Традиционно для этих целей использовался Apache, но постепенно стал популярен альтернативный проект — Nginx. Сегодня мы поговорим о том, что такое Nginx, каковы его преимущества и особенности использования.

Что такое Nginx?


Nginx (читается как «энжин-экс») — это бесплатный и открытый веб-сервер, разработанный Игорем Сысоевым в 2002 году. Изначально создавался как решение проблемы масштабируемости веб-сервисов, связанных с большими объемами одновременных соединений. Nginx отличается высоким уровнем производительности, эффективностью использования ресурсов и способностью выдерживать высокие нагрузки.

Особенности Nginx



Высокая Производительность
Nginx разработан с использованием асинхронной модели обработки запросов, что позволяет обрабатывать тысячи соединений практически мгновенно. Благодаря этому он идеально подходит для больших и нагруженных...

Nginx: Что такое  $invalid_referer  и как его использовать?

В Nginx переменная $invalid_referer доступна в сочетании с директивой valid_referers и позволяет контролировать поступившие запросы по критерию реферера (то есть источника, откуда пришел запрос). Эта возможность помогает бороться с атаками прямого доступа к ресурсам (hotlinking), несанкционированным скачиванием файлов и другими видами злоупотреблений.

Как работает $invalid_referer?


  1. Определение допустимых рефереров: Директива valid_referers определяет, какие источники запросов считаются легитимными. Если запрос поступил с незаданного источника, переменная $invalid_referer принимает значение true.
  2. Проверка реферера: Используя оператор if, вы можете проверить переменную $invalid_referer. Если она истинна, запрос отклоняется или перенаправляется особым образом.

Пример использования
Предположим, вы хотите запретить прямую загрузку изображений с вашего сайта для посторонних сайтов. Вы можете настроить следующий блок в конфигурации Nginx:
location ~* \.(jpg|jpeg|gif|png)$ {
    valid_referers
...