как именно Nginx оперирует потоками?
пришёл запрос, его Nginx принял в поток, передал в FastCGI, а что дальше?
он будет держать поток, пока FastCGI не вернёт ответ, а Nginx его передаст
источнику
или сам FastCGI передаст ответ источнику?
сам FastCGI тоже на каждый запрос выделяет поток...
короче, потоки для FastCGI надо урезать в половину или как это работает?
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292726,292726#msg-292726
Изменения в nginx 1.21.5 28.12.2021
*) Изменение: теперь nginx по умолчанию собирается с библиотекой PCRE2.
*) Изменение: теперь nginx всегда использует sendfile(SF_NODISKIO) на
FreeBSD.
*) Добавление: поддержка sendfile(SF_NOCACHE) на FreeBSD.
*) Добавление: переменная $ssl_curve.
*) Исправление: при использовании HTTP/2 без SSL вместе с директивами
sendfile и aio соединения могли зависать.
--
Maxim Dounin
http://nginx.org/
Добрый день, подскажите, почему когда в resolver стоит ipv6=off и в upstream
доменное имя с ipv6 и ipv4 то nginx присваивает ему и ipv6 и ipv4 ip адреса,
почему ipv6=off в resolver не работает в этом случае?
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,293160,293160#msg-293160
Приветствую всех!
Использую nginx уже давно на разных серверах. Всегда с логом доступа было
всё в порядке. А сейчас поднимаю новый сервер и вдруг обнаруживаю, что
записи в логе access.log перемешаны - не отсортированы по времени.
Пробовал включать/выключать буферизацию записи в лог - не помогло.
Прямо сейчас в моём распоряжении четыре сервера с разными версиями nginx:
1.10.2, 1.14.1, 1.14.2 и 1.18.0. Первые три работают под Debian с 8 по 10 и
на них всё нормально. Последний - самый свежий с версией nginx 1.18.0 - под
Debian 11 и на нём вот такая проблема.
Может кто-нибудь подсказать - куда копать?
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,293143,293143#msg-293143
Добрый день, может быть у кого-нибудь есть модуль, подобный
ngx_http_gunzip_module, что бы в proxy_cache хранить полученные с upstream
сжатые c brotli ответы и отдавать клиентам без поддержки brotli
разархивированные данные? Если кто хочет заняться разработкой подобного -
готов стать спонсором для данной разработки. На гитхаб есть начало
разработки, но модуль не работает как должен.
https://github.com/splitice/ngx_brunzip_module
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,293090,293090#msg-293090
Здравствуйте!
Есть такой конфиг:
location /download {
proxy_pass http://unix:/run/gunicorn.sock;
}
location /download/ {
alias /home/www/download/;
charset utf-8;
autoindex on;
autoindex_localtime on;
}
при этом nginx почему-то и зачем-то делает самовольный редирект
с https://example.com/download на https://example.com/download/
$ curl -i https://example.com/download
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Tue, 14 Dec 2021 21:16:24 GMT
Content-Type: text/html
Content-Length: 162
Location: https://example.com/download/
Connection: keep-alive
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
Это баг в nginx ? Можно ли его исправить?
Добавление модификатора = также не помогает:
location = /download {
proxy_pass http://unix:/run/gunicorn.sock;
}
по прежнему происходит 301 редирект на страницу /download/
Если в конфиге поменять proxy_pass
location /download {
#proxy_pass http://unix:/run/gunicorn.sock;
proxy_pass http://127.0.0.1:5000;
}
тогда редиректа не происходит и запрос корректно передается на backend.
Но нужно чтобы все нормально работало именно с сокетом gunicorn.sock
--
Best regards,
Gena
Здравствуйте.
Мне необходимо проверить существует ли сокет. Я использую такую
конструкцию:
location / {
if ( -f /www/php_sockets/${app}.sock ) {
set $sock "/www/php_sockets/${app}.sock";
}
return 220 "${sock}";
}
И получаю ошибку 'open() "/www/php_sockets/test.sock" failed (6: No such
device or address)'
Если заменить сокет на простой файл с теми же правами, то всё отрабатывает
корректно.
Скажите пожалуйста с помощью директивы if нельзя проверить существование
сокета или я что-то делаю не так?
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,293064,293064#msg-293064
Здравствуйте.
Собрал nginx с библиотекой QuicTLS - https://github.com/quictls/openssl
При активации протокола HTTP3 на нескольких хостах в лог начинаются сыпаться такие ошибки:
```
2021/11/24 22:52:45 [error] 40152#40152: *51 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443
2021/11/24 22:52:45 [error] 40151#40151: *52 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443
2021/11/24 22:52:45 [error] 40153#40153: *53 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443
```
Если использовать BoringSSL с аналогичной конфигурацией, то такой ошибки нету.
--
С уважением,
Izorkin mailto:izorkin@gmail.com