Re: параллельные сертификаты ECDSA/RSA и @SECLEVEL
да, спасибо, я как раз писал, что уже понял. при таком конфиге сервера: ssl_protocols TLSv1; ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA; ssl_prefer_server_ciphers on; если запускаем openssl s_client -tls1 то от клиента приходит запрос, в котором есть шифр ECDHE-ECDSA-AES128-SHA, сервер выбирает его, но не может использовать из-за SECLEVEL, выдаёт такой ответ: Transport Layer Security TLSv1 Record Layer: Alert (Level: Fatal, Description: Internal Error) Content Type: Alert (21) Version: TLS 1.0 (0x0301) Length: 2 Alert Message Level: Fatal (2) Description: Internal Error (80) если же мы запускаем openssl s_client -cipher AES128-SHA -tls1 то сервер соглашается на AES128-SHA и всё работает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294596,294609#msg-294609 ___ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org
Re: параллельные сертификаты ECDSA/RSA и @SECLEVEL
> (Just in case, в приведённом фрагменте вывода testssl.sh как раз > видно, что TLSv1 и TLSv1.1 работают.) всё-таки не работает, извините, не то скопировал, заметил уже после отправки. должно было быть: SSLv2 not offered (OK) SSLv3 not offered (OK) TLS 1 not offered TLS 1.1not offered TLS 1.2offered (OK) TLS 1.3not offered and downgraded to a weaker protocol > Debian по умолчанию использует в настройках OpenSSL SECLEVEL=2, > что приводит к тому, что ECDHE-ECDSA-AES128-SHA не работает из-за > использования SHA1 в процессе key exchange. Ибо для SECLEVEL=2 > требуется минимум 112 бит криптостойкости, а SHA1 обеспечивает > максимум 80 (а с учётом атак - и того меньше, что и отражено в > OpenSSL 3.0). От этого у вас TLSv1 и ломается без SECLEVEL=0 но почему при SECLEVEL=2 наличие/отстутсвие поддержки TLSv1 зависит от того, в каком порядке указаны шифры? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294596,294606#msg-294606 ___ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org
параллельные сертификаты ECDSA/RSA и @SECLEVEL
Дано: nginx 1.23 (сборка под bullseye с nginx.org), openssl 1.1.1n (из debian) два сертификата от LE, RSA и P-256. testssl.sh Нужно сделать, чтобы старые клиенты, умеющие только TLSc1/RSA, могли подключаться. Запускаем testssl.sh, TLSv1 и 1.1 не работают (только 1.2): SSLv2 not offered (OK) SSLv3 not offered (OK) TLS 1 offered (deprecated) TLS 1.1offered (deprecated) TLS 1.2offered (OK) TLS 1.3not offered and downgraded to a weaker protocol Убираем один из сертификатов — TLSv1 появляется, с двумя — только 1.2 Идём, например, на https://ssl-config.mozilla.org/#server=nginx=1.23=old=1.1.1n=false=false=5.6 прописываем ssl_ciphers оттуда. Не помогает. Добавляем в конец списка шифров :@SECLEVEL=0 TLSv1 начинает работать. Решил редуцировать пример, дошёл до такого: a. ssl_ciphers AES128-SHA; TLSv1 работает b. ssl_ciphers AES128-SHA:ECDHE-ECDSA-AES128-SHA; TLSv1 работает c. ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA; TLSv1 НЕ работает d. ssl_ciphers ECDHE-ECDSA-AES128-SHA256:AES128-SHA; TLSv1 работает e. ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA:@SECLEVEL=0; TLSv1 работает :@SECLEVEL=0 прописать недолго, тем более, что, если я ничего не путаю, с переходом на openssl3 так и так придётся это делать; но неконсистентность поведения удивила. это вообще баг или фича? ) за десять минут просмотра кода нжинкса возникло ощущение, что дело не в нём, а так срабатывают какие-то эвристики в openssl. код openssl пока не смотрел. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294596,294596#msg-294596 ___ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org
FR: дамп действующего конфига
несколько раз возникала потребность посмотреть конфиг, с которым работает nginx. подобные запросы находил на SO, так что актуально не только для меня, в одном из вариантов ответа даже gdb приспособили: https://serverfault.com/questions/361421/dump-nginx-config-from-running-process возможно ли сделать что-то вроде `nginx -T`, только выводящее конфиг с которым сейчас работает nginx? как вариант, при запуске записывать актуальный конфиг куда-нибудь в /run и обновлять после `nginx -s reload` Posted at Nginx Forum: https://forum.nginx.org/read.php?21,291028,291028#msg-291028 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: кэш (proxy cache path) и nginx -s reload
> reload не вредит > restart вредит точно keys_zone выживает при релоаде? вот что нашёл: The cache loader then exits and doesn’t need to run again unless NGINX is restarted or reconfigured and the shared memory segment needs to be reinitialized. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,291022,291023#msg-291023 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
кэш (proxy cache path) и nginx -s reload
правильно ли я понимаю, что после перезагрузки конфигурации теряется информация о времени последнего доступа к элементам кэша и при необходимости чистки удаление файлов идёт по сути «наобум»? поясню: у нас есть раздача статики, есть кэширующий nginx с кэшем, который наполняется несколько суток, после заполнения кэша ещё несколько дней процент попадания продолжает расти. возникла потребность менять «на лету» некоторые параметры в конфиге, задумался, частый (каждые 10 минут, например) релоад конфига не навредит ли? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,291019,291019#msg-291019 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проксирование с кэшем из CDN
у нжинкса с proxy_cache_lock (и достаточно высокими proxy_cache_lock_timeout/proxy_cache_lock_age) тоже пойдёт только один поток на апстрим, но, пока файл не ляжет полностью в кэш, получать будет только первый клиент Posted at Nginx Forum: https://forum.nginx.org/read.php?21,288966,289168#msg-289168 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: [alert] 269#269: sendmsg() failed (109: Too many references: cannot splice)
BTW, а как работает worker_cpu_affinity auto если воркеров меньше, чем ядер? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,288449,288467#msg-288467 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit rate и высокие скорости
> https://trac.nginx.org/nginx/ticket/1678#comment:1 читал > Подкрутить можно размеры буферов и/или включить sendfile, размеры крутил (без них было сильно хуже), sendfile тоже пробовал включать (точнее отключать aio). с "output_buffers 2 10m" получается около 80Мб/с, но 20Мб на клиента как-то перебор (и опять же это не ровно 100, как в указано через limit_rate) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,288429,288466#msg-288466 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
limit rate и высокие скорости
есть такой конфиг: server { listen 1 default_server reuseport;# sndbuf=4m; location ~ ^/speedtest-limit-([0-9]+[km]?)/([^/]*)$ { limit_rate $1; limit_rate_after 2m; alias /var/www/speedtest/$2; } } проверяю скорость скачивания без лимита, вполне приличная: $ curl -o /dev/null 127.0.0.1:1/speedtest-limit-0/1000mb % Total% Received % Xferd Average Speed TimeTime Time Current Dload Upload Total SpentLeft Speed 100 1000M 100 1000M0 0 2375M 0 --:--:-- --:--:-- --:--:-- 2375M с относительно небольшим лимитом всё хорошо: $ curl -o /dev/null 127.0.0.1:1/speedtest-limit-1m/100mb % Total% Received % Xferd Average Speed TimeTime Time Current Dload Upload Total SpentLeft Speed 100 100M 100 100M0 0 1044k 0 0:01:38 0:01:38 --:--:-- 1008k а вот с лимитом повыше ерунда выходит: $ curl -o /dev/null 127.0.0.1:1/speedtest-limit-100m/1000mb % Total% Received % Xferd Average Speed TimeTime Time Current Dload Upload Total SpentLeft Speed 100 1000M 100 1000M0 0 42.9M 0 0:00:23 0:00:23 --:--:-- 42.6M что можно подкрутить? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,288423,288423#msg-288423 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru