π₯ ΠΡΠΏΡΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ 1.8.0 Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° Angie, ΠΎΡΠ²Π΅ΡΠ²Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΎΡ Nginx Π³ΡΡΠΏΠΏΠΎΠΉ Π±ΡΠ²ΡΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°!
π‘ ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Angie Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD, Π° ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌΠΈ ΠΠ‘, Π²ΠΊΠ»ΡΡΠ°Ρ Π Π΅Π΄ ΠΠ‘, Astra Linux Special Edition, ΠΈ ΠΠ»ΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ "ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ", ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π² 2022 Π³ΠΎΠ΄Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°Ρ $1 ΠΌΠ»Π½ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ. Π‘ΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β ΠΠ°Π»Π΅Π½ΡΠΈΠ½ ΠΠ°ΡΡΠ΅Π½Π΅Π², ΠΠ²Π°Π½ ΠΠΎΠ»ΡΡΠ½ΠΎΠ², ΠΠ»Π΅Π³ ΠΠ°ΠΌΠΎΠ½ΡΠΎΠ² ΠΈ Π ΡΡΠ»Π°Π½ ΠΡΠΌΠΈΠ»ΠΎΠ².
π Π Π²Π΅ΡΡΠΈΠΈ 1.8.0 Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠ΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ http_acme Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡ Letβs Encrypt. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ DNS-01 Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² Ρ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, *.
example.com) ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° acme_hook Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½Π°. Π’Π°ΠΊΠΆΠ΅ Π² Π»ΠΎΠ³Π°Ρ
ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° acme_client ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ account_key Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΊΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ°.
π Π ΠΌΠΎΠ΄ΡΠ»ΡΡ
stream ΠΈ http ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ status_zone Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΡΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
Ρ
ΠΎΡΡΠΎΠ². ΠΠΎΠ΄ΡΠ»Ρ ΡΠΆΠ°ΡΠΈΡ gzip ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ zlib-ng 2.2+, Π° ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° freenginx ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° max_headers, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠ°Ρ ΡΠΈΡΠ»ΠΎ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² Π·Π°ΠΏΡΠΎΡΠ΅, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π·Π°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ DoS-Π°ΡΠ°ΠΊ.
π Π ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ HTTP/3 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ http3_max_table_capacity ΠΈ proxy_http3_max_table_capacity Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°Π±Π»ΠΈΡΡ ΡΠΆΠ°ΡΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° autotest Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅. Π’Π°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ· freenginx Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ keep-alive ΠΏΡΠΈ ΠΌΡΠ³ΠΊΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
π ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² ΠΌΠΎΠ΄ΡΠ»Π΅ stream Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Ρ
ΠΎΡΡΠ°ΠΌΠΈ. Π ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· nginx 1.27.3, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Angie.
π ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
*ΠΊΠ»ΠΈΠΊ*@devopsitsec