ΠΠ·Π΄Π°Π΄Π΅Π½ Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΡΠ΅Π»ΠΈΠΉΠ· Π½Π° nginx 1.29.4, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π³Π½Π΅Π·Π΄Π° 1.28.x ΡΠ΅ Π²Π½Π°ΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π Π±ΡΠ΄Π΅ΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΠ΅Π»ΠΈΠΉΠ· 1.29.x ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΎΡΠΌΠΈΡΠ°Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π³Π½Π΅Π·Π΄Π° 1.30. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· BSD.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- Π ΠΌΠΎΠ΄ΡΠ»Π° ngx_http_proxy Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP/2, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° HTTP/2 ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° TLS ECH (Encrypted ClientHello), ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ ESNI (Encrypted Server Name Indication), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° TLS ΡΠ΅ΡΠΈΠΈΡΠ΅, ΠΊΠ°ΡΠΎ Π·Π°ΡΠ²Π΅Π½ΠΎΡΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠΌΠ΅. ΠΠ»ΡΡΠΎΠ²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ECH ΠΈ ESNI Π΅, ΡΠ΅ Π² ECH Π²ΠΌΠ΅ΡΡΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΡΡΠ»ΠΎΡΠΎ TLS ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ClientHello ΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΅Π· ΠΏΠΎΠ»Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΎΠ±Ρ Π²Π°ΡΠ° ESNI, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π΅ΡΠΎ PSK (Pre-Shared Key). ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ECH ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° 'ssl_ech_file' ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ECHConfig Π² ΡΠΎΡΠΌΠ°Ρ PEM. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ±ΠΎΡΠΊΠΈ OpenSSL Ρ ECH.
- ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Ρ ΠΎΡΡ ΠΈ ΠΏΠΎΡΡ Π² ΡΠ΅ΠΊΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ 'Host' ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎ-Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ ':authority' ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈ ΠΊΡΠΌ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° RFC 3986.
- Π£ΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ Π·Π½Π°ΠΊ Π·Π° Π½ΠΎΠ² ΡΠ΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Π² chunked Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈΠ»ΠΈ Π² ΡΡΠ»ΠΎΡΠΎ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ°ΡΠΎ Π³ΡΠ΅ΡΠΊΠ°.
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΎ Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° HTTP/3 Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° OpenSSL 3.5.1+.
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΎ Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ ΠΏΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ try_files ΠΈ proxy_pass Ρ URI.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
