Ограничение скорости можно также задать в переменной $limit_rate. Это может быть полезно в случаях, когда скорость нужно ограничивать в зависимости от какого-либо условия:server { if ($slow) { set $limit_rate 4k; } ... }
Если включено, одновременно только одному запросу будет позволено заполнить новый элемент кэша, идентифицируемый согласно директиве proxy_cache_key, передав запрос на проксируемый сервер. Остальные запросы этого же элемента будут либо ожидать появления ответа в кэше, либо освобождения блокировки этого элемента, в течение времени, заданного директивой proxy_cache_lock_timeout.
В пути файла можно использовать переменные (0.7.6+), но такие логи имеют некоторые ограничения:@ nginx.org/r/access_log/ru
[...]
- при каждой записи в лог проверяется существование корневого каталога для запроса — если этот каталог не существует, то лог не создаётся. Поэтому root и access_log нужно описывать на одном уровне:
server { root /spool/vhost/data/$host; access_log /spool/vhost/logs/$host; ...
if ($http_referer
, лучше использовать модуль nginx.org/ru/docs/http/ngx_http_referer_module.htmlchunked_transfer_encoding
.proxy_buffering
:server {
listen 80;
server_name www.my.com;
return 301 http://my.com$request_uri;
}
server {
listen 80;
server_name ~^(?<sd>.+)\.my\.com$;
return 301 http://my.com/$sd$request_uri;
}
server {
listen 80; ## listen for ipv4
listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name my.com;
access_log /var/log/nginx/artzub.access.log main;
error_log /var/log/nginx/artzub.error.log info;
root /var/www;
location / {
index index.html index.htm;
}
location ~* \.(?:jpg|ico|gif|png|css|js|svg)$ {
access_log off;
expires 30d;
}
}
location / {
proxy_pass http://localhost/privet/
}