Доброе утро. При использовании kTLS и sendfile наблюдается просадка производительности при отдаче статических файлов, например при видео-стриминге. Одним из вариантов решения является перенести статический файлы на другой хост и использовать там только протоколы HTTP/1.1 и/или HTTP/3. Либо усложнять логику работы в блоке location.
Не все сервисы позволяют выводить статику на отдельный хост, либо могут иметь сложную конфигурацию nginx. Например web-сервис Peertube имеет множество блоков location и использует различные условия if: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube Обычному пользователю будет сложнее с этим разобраться и добавить дополнительные блоки для исключения работы протокола HTTP/2 через kTLS. Вполне легко можно запутаться и нарушить логику работы сайта. Хотелось бы иметь более простой и универсальный способ отключения обработки протокола HTTP/2 через kTLS. Предполагаю, что перед передачей шифрования ядру системы сейчас nginx проверяет наличие ssl и параметра sendfile. Можно ли добавить дополнительное условие, которое проверяет дополнительный параметр, который указывает какой протокол исключить из обработки шифрования ядром? По итогу получится примерно такой вариант конфигурации: server { listen 0.0.0.0:443 quic reuseport ; listen 0.0.0.0:443 ssl reuseport ; http2 on; http3 on; ssl_conf_command Options KTLS; disable_ktls_for_protocol http2; ... Мне кажется, что такой вариант эффективнее, чем добавлять условие if с rewrite и дополнительный блок location. -- С уважением, Izorkin mailto:izor...@gmail.com _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-ru