ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π΅ Π½ΠΎΠ²ΠΈΡΡ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ HTTP ΡΡΡΠ²ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ Angie 1.8.0, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π²ΡΡΡ Ρ Nginx ΠΎΡ Π³ΡΡΠΏΠ° Π±ΠΈΠ²ΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΡΡΠ½Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° F5 Network. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° Angie ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΡΡΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ Π Π΅Π΄ ΠΠ‘, Astra Linux Special Edition, Π ΠΎΡΠ° Π₯ΡΠΎΠΌ Π‘Π΅ΡΠ²Π΅Ρ, ΠΠ»Ρ ΠΈ Π€Π‘Π’ΠΠ-Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΠ»Ρ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΡΡΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° βΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρβ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π° ΠΏΡΠ΅Π· Π΅ΡΠ΅Π½ΡΠ° Π½Π° 2022 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΈ Π² ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° 1 ΠΌΠ»Π½. Π΄ΠΎΠ»Π°ΡΠ°. ΠΠ΅ΠΆΠ΄Ρ ΡΡΠ΄ΡΡΠΆΠ½ΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°: ΠΠ°Π»Π΅Π½ΡΠΈΠ½ ΠΠ°ΡΡΠ΅Π½Π΅Π² (Π»ΠΈΠ΄Π΅Ρ Π½Π° Π΅ΠΊΠΈΠΏΠ°, ΡΠ°Π·Π²ΠΈΠ²Π°Π» ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Nginx Unit), ΠΠ²Π°Π½ ΠΠΎΠ»ΡΡΠ½ΠΎΠ² (Π±ΠΈΠ²Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π² Rambler ΠΈ Mail.Ru), ΠΠ»Π΅Π³ ΠΠ°ΠΌΠΎΠ½ΡΠΎΠ² (ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° Π΅ΠΊΠΈΠΏΠ° Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π² NGINX Inc) ΠΈ Π ΡΡΠ»Π°Π½ ΠΡΠΌΠΈΠ»ΠΎΠ² (ru@FreeBSD.org).
ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Angie 1.8.0:
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° http_acme, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΎΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠΈΡ ΡΠ΅Π½ΡΡΡ Letβs Encrypt, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ACME (Automatic Certificate Management Environment):
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° DNS-01, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Ρ ΠΌΠ°ΡΠΊΠΈ, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ Π³ΡΡΠΏΠ° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, *.example.com).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° βacme_hookβ, ΡΡΠ΅Π· ΠΊΠΎΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° DNS.
- ΠΠ° ΡΠ»Π΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°ΡΠ° Π² Π»ΠΎΠ³Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠ°ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, ΠΏΡΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° ΡΠΌΠ΅ΡΠΊΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½.
- Π Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° βacme_clientβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ βaccount_keyβ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡ ΠΊΠ»ΡΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΠ²ΡΡ ACME, Π²ΠΌΠ΅ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠ»ΡΡ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° βstatus_zoneβ, ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠ° Π² ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ stream ΠΈ http. ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ βlocationβ ΠΈΠ»ΠΈ βserverβ. server { listen 80; server_name *.example.com; status_zone $host zone=host_zone:10; location / { proxy_pass http://example.com; } }
- Π ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ gzip Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° zlib-ng 2.2 ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ.
- ΠΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° freenginx Π΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° max_headers, ΠΊΠΎΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ HTTP-Π·Π°Π³Π»Π°Π²ΠΈΡ Π² Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ DoS Π°ΡΠ°ΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ http3_max_table_capacity ΠΈ proxy_http3_max_table_capacity Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° Π² HTTP/3.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΡΠΎΡ-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ β ΡΠ΅Π³Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ autotest Π½Π° ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°.
- ΠΡ freenginx Π΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΡΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠ΅ΠΊΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ (gracefully shutdown) β keep-alive Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΡΠ΅Π³Π° ΡΠ΅ Π·Π°ΡΠ²Π°ΡΡΡ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠ°, Π·Π°Π΄Π°Π΄Π΅Π½ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° lingering_timeout.
- ΠΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅, Π² ΠΌΠΎΠ΄ΡΠ»Π° stream Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol ΠΈ $ssl_preread_server_name.
- ΠΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° nginx ΡΠ° ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ°, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π² Π²Π΅ΡΡΠΈΡ nginx 1.27.3.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
