ΠΡΡΠ½Π°Ρ Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π½Π° nginx 1.21.4, Π² ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (Π² ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΊΠ»ΠΎΠ½ 1.20 ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ).
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° HTTP/2 Π²ΡΡΠ·ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ NPN (Next Protocol Negotiation) Π²ΠΌΠ΅ΡΡΠΎ ALPN Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°;
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ SSL Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΡΠ° Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ ALPN, Π°ΠΊΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π½Π΅ Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°;
- Π Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "sendfile_max_chunk" ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π° Π½Π° 2 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°;
- Π ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΠΏΠΎΡΠΎΠΊ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° proxy_half_close, Ρ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ Π·Π°ΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΊΡΠΈ TCP Π²ΡΡΠ·ΠΊΠ° ΠΎΡ Π΅Π΄Π½Π° ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠ΅ (βTCP half-closeβ);
- Π ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΠΏΠΎΡΠΎΠΊ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° ssl_alpn, Π·Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠΏΠΈΡΡΠΊΡΡ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ALPN ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ (h2, http/1.1) ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° $ssl_alpn_protocol, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠ° ALPN ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° SSL_sendfile() ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° OpenSSL 3.0;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° βmp4_start_key_frameβ Π² ΠΌΠΎΠ΄ΡΠ»Π° ngx_http_mp4_module Π·Π° ΠΈΠ·Π»ΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡΠΎΠΊ, Π·Π°ΠΏΠΎΡΠ²Π°Ρ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ² ΠΊΠ°Π΄ΡΡ.
- Π€ΠΈΠΊΡΠΈΡΠ°Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $content_length ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΡΡΠΈ;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° ΠΎΡ ΠΏΡΠΎΠΊΡΠΈΡΠ°Π½ΠΈΡ Π±Π΅ΠΊΠ΅Π½Π΄;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Ρ Π½ΠΈΠ²ΠΎ βΠ³ΡΠ΅ΡΠΊΠ°β Π²ΠΌΠ΅ΡΡΠΎ βΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡβ, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ ΠΎΡ Π±Π΅ΠΊΠ΅Π½Π΄Π° ΡΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π²ΠΈΡΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° HTTP/2 ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° aio_write.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru