Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ nginx 1.21.4, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ (Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ 1.20 Π²Π½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ HTTP/2-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ NPN (Next Protocol Negotiation) Π²ΠΌΠ΅ΡΡΠΎ ALPN;
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π·Π°ΠΊΡΡΡΠΈΠ΅ SSL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ALPN, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π½Π΅ Π²ΡΠ±ΡΠ°Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»;
- Π Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ «sendfile_max_chunk» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° 2 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°;
- Π ΠΌΠΎΠ΄ΡΠ»Π΅ stream Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° proxy_half_close, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΏΡΠΎΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ TCP Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠΎΡΠΎΠ½ («TCP half-close»);
- Π ΠΌΠΎΠ΄ΡΠ»Π΅ stream Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° 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 ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ chunked transfer encoding;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ²Π΅ΡΠ° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΎΡ ΠΏΡΠΎΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π±ΡΠΊΠ΅Π½Π΄Π°;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ «error» Π²ΠΌΠ΅ΡΡΠΎ «info» ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ ΠΎΡ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠ²;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ HTTP/2 ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ aio_write.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru