CORS, также известный как совместное использование ресурсов из разных источников, – это метод, используемый в современных веб-браузерах, который контролирует доступ к ресурсам, размещенным на веб-сервере. CORS использует дополнительные заголовки, такие как origin, access-control-origin и многие другие, чтобы определить, есть ли у запрошенного ресурса разрешение на отправку в браузер. Читать
Архив метки: nginx
Как узнать версию Nginx

Если вы администрируете сервер на Linux, вам может понадобиться узнать версию Nginx. Это очень популярный и высокопроизводительный веб-сервер, который используется даже чаще чем Apache. От версии зависит поддерживает веб-сервер те или иные возможности, а также есть ли в нём все необходимые патчи исправляющие уязвимости.
Дальше в этой статье мы рассмотрим как посмотреть версию различными способами на самом сервере или без доступа к серверу.
Nginx в качестве UDP-балансировщика
После установки, отключаем дефолтный конфиг
YAML$ cd /etc/nginx/conf.d/$ sudo mv default.conf default.conf.disable12$ cd /etc/nginx/conf.d/$ sudo mv default.conf default.conf.disable
Редактируем основной конфиг Nginx Читать
Деректива Nginx — location с примерами
Директива location служит для установки конфигурации в зависимости от URI-запроса.
Синтаксис location в общем виде следующий:
Syntax: location [=|~|~*|^~] uri { ... }
location @name { ... }
Context: server, locationПеред тем, как перейти к более детальному изучению, нужно заметить, что location определяется в контексте server (или в location в случае вложенной директивы), и в одном настраиваемом виртуальном хосте могут использоваться разные конфигурации в зависимости от обрабатываемого сервером URI. Читать
Переменные в nginx
Сегодня в статье привожу примеры переменных в web браузере Nginx
- $args – переменная равна аргументам в строке запроса;
- $arg_name – переменная равна аргументу name в строке запроса;
- $binary_remote_addr – переменная равна адресу клиента в бинарном виде, длина её значения всегда 4 байта;
- $content_length – переменная равна строке “
Content-Length” в заголовке запроса; - $content_type – переменная равна строке “
Content-Type” в заголовке запроса; - $cookie_name – переменная равна cookie name;
- $document_root – переменная равна значению директивы root для текущего запроса;
- $document_uri – то же самое, что и
$uri; - $host – переменная равна строке “Host” в заголовке запроса или имени сервера, на который пришёл запрос, если этой строки нет;
- $hostname – переменная равна имени хоста;
- $http_name – переменная равна строке name в заголовке запроса;
- $is_args – переменная равна “?”, если в строке запроса есть аргументы, и пустой строке, если их нет;
- $limit_rate – переменная позволяет установить ограничение скорости соединения;
- $pid – переменная равна номеру рабочего процесса;
- $request_method – переменная равна методу запроса, обычно это “GET” или “POST”;
- $remote_addr – переменная равна адресу клиента;
- $remote_port – переменная равна порту клиента;
- $remote_user – переменная равна имени пользователя, используемого в Basic аутентификации;
- $realpath_root – переменная равна значению директивы root для текущего запроса, при этом все символические ссылки преобразованы в реальные путь;
- $request_filename – переменная равна пути к файлу для текущего запроса, формируемому из директив root или alias и URI запроса;
- $request_body – переменная содержит тело запроса. Значение переменной появляется в location’ах, обрабатываемых директивами
proxy_passиfastcgi_pass. - $request_body_file – переменная равна имени временного файла, в котором хранится тело запроса. По завершению работы файл необходимо удалить. Для того, чтобы тело запроса клиента всегда записывалось в файл, нужно указать
client_body_in_file_only on. При передаче имени в проксированном запросе или в запросе к FastCGI-серверу следует запретить передачу самого тела директивами “proxy_pass_request_body off” или “fastcgi_pass_request_body off” соответственно. - $request_uri – переменная равна полному первоначальному URI вместе с аргументами;
- $query_string – то же самое, что и $args;
- $scheme – переменная равна схеме запроса — “http” или “https”;
- $server_protocol – переменная равна протоколу запроса, обычно это “HTTP/1.0” или “HTTP/1.1”;
- $server_addr – переменная равна адресу сервера, на который пришёл запрос. Как правило, для получения значения этой переменной делается один системный вызов. Для того, чтобы избежать системного вызова, нужно указывать адреса в директивах listen и использовать параметр bind;
- $server_name – переменная равна имени сервера, на который пришёл запрос;
- $server_port – переменная равна порту сервера, на который пришёл запрос;
- $uri – переменная равна текущему URI в запросе, он может отличаться от первоначального, например, при внутренних редиректах или при использовании индексных файлов.
Установка Nginx в Debian
Nginx – это веб сервер с открытым исходным кодом, при помощи которого можно развернуть обратный прокси или веб-сайт. Nginx является вторым (после Apache) по популярности веб-сервером в мире, под управлением которого работают больше 20% всех сайтов и почтовых сервисов.
Главными преимуществами этого сервера являются простота установки и настройки, надёжность, нетребовательность к аппаратным ресурсам и высокая производительность. В этой статье мы рассмотрим как выполняется установка Nginx Debian 11.