ΠΠ±ΡΠ°Π²ΡΠ΅Π½ ΡΠ΅ Angie 1.11.0, Π²ΠΈΡΠΎΠΊΠΎ-ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ½ΠΈ HTTP ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΌΡΠ»ΡΠΈΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π½ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΡΠΏΠ° Π±ΠΈΠ²ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ° ΠΊΠΎΡΠΈ ΡΡ Π½Π°ΠΏΡΡΡΠΈΠ»ΠΈ F5 Network Π³Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»Π° ΡΠ° Nginx-Π°. Angie-ΡΠ΅Π² ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΠΊΠΎΠ΄ ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ°Π½ ΠΏΠΎΠ΄ BSD Π»ΠΈΡΠ΅Π½ΡΠΎΠΌ. ΠΡΠΎΡΠ΅ΠΊΠ°Ρ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠΈ ΡΠ° ΡΡΡΠΊΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ°, ΡΠΊΡΡΡΡΡΡΡΠΈ Red OS. Astra Linux Π‘ΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΠΈΠ·Π΄Π°ΡΠ΅, Rosa Chrome Server, Alt ΠΈ FSTEC Π²Π΅ΡΠ·ΠΈΡΠ΅ Alt-Π°.
Π Π°Π·Π²ΠΎΡ ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ° Web Server, ΠΊΠΎΡΠ° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Ρ ΡΠ΅ΡΠ΅Π½ 2022. Π³ΠΎΠ΄ΠΈΠ½Π΅ ΠΈ Ρ ΠΊΠΎΡΡ ΡΡ ΡΠ»ΠΎΠΆΠ΅Π½Π° ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠ΄ ΠΌΠΈΠ»ΠΈΠΎΠ½ Π΄ΠΎΠ»Π°ΡΠ°. ΠΠ΅ΡΡ ΡΡΠ²Π»Π°ΡΠ½ΠΈΡΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ΅ Web Server ΡΡ ΠΠ°Π»Π΅Π½ΡΠΈΠ½ ΠΠ°ΡΡΠ΅Π½Π΅Π² (Π²ΠΎΡΠ° ΡΠΈΠΌΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Nginx Unit), ΠΠ²Π°Π½ ΠΠΎΠ»ΡΡΠ°Π½ΠΎΠ² (Π±ΠΈΠ²ΡΠΈ ΡΠ΅Ρ ΡΡΠΎΠ½Ρ-Π΅Π½Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ° Ρ Rambler-Ρ ΠΈ Mail.Ru-Ρ), ΠΠ»Π΅Π³ ΠΠ°ΠΌΠΎΠ½ΡΠΎΠ² (ΡΠ΅Ρ ΡΠΈΠΌΠ° ΡΠ΅Ρ Π½ΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ΅ NGINX Inc) ΠΈ Π ΡΡΠ»Π°Π½ ΠΡΠΌΠΈΠ»ΠΎΠ² (ru@FreeBSD.org).
ΠΡΠΎΠΌΠ΅Π½Π΅ Ρ ΠΠ½Π³ΠΈΠ΅ 1.11.0:
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΠΌΠΎΠ΄ΡΠ» βhttp-metricβ, ΠΊΠΎΡΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° ΠΏΡΠΈΠΊΡΠΏΡΠ°ΡΠ΅ Π±ΠΈΠ»ΠΎ ΠΊΠΎΡΠΈΡ HTTP ΠΌΠ΅ΡΡΠΈΠΊΠ° Ρ ΡΠ΅Π°Π»Π½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΠΌ ΡΠ°Π·Π°ΠΌΠ° ΠΎΠ±ΡΠ°Π΄Π΅ ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΠ΅ Π·Π°Ρ ΡΠ΅Π²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° (Π±ΡΠΎΡΠ°ΡΠΈ, Ρ ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΏΠΎΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈΡΠ΄.). ΠΡΠΈΡΡΡΠΏ ΠΏΡΠΈΠΊΡΠΏΡΠ΅Π½ΠΈΠΌ ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° ΡΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠ΅Π½ Ρ JSON ΠΈ Prometheus ΡΠΎΡΠΌΠ°ΡΠΈΠΌΠ° ΠΏΡΡΠ΅ΠΌ HTTP API-ΡΠ° (/status/http/metric_zones/), ΠΊΠ°ΠΎ ΠΈ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΈΡ ΠΈ Π»ΠΎΠ³ΠΎΠ²Π°.
- ΠΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΡΡΠΊΠ΅ Π·Π° ACME ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΡ ΠΏΡΠΎΡΠΈΡΠ΅Π½Π΅: Π΄ΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ALPN Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ, ΠΏΠΎΠ±ΠΎΡΡΠ°Π½ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π· ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ ΠΈΠ·Π΄Π°Π²Π°ΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Ρ HTTP API-ΡΡ /status/http/acme_clients/ (ΡΠ· ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° Prometheus), ΠΏΠΎΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ΅Π½Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° HTTP ΠΏΠΎΡΠ²ΡΠ΄Π΅ ΠΈ ΠΏΠΎΠ±ΠΎΡΡΠ°Π½ ΡΠ΅ ΠΏΡΠΈΡΡΡΠΏ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΌΠ° ΠΈΠ· Π±Π»ΠΎΠΊΠ° ΡΡΡΠΈΠΌΠ°. HTTP Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Ρ ACME ΡΠ°Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π΄ΠΈ Π±Π΅Π· Π±Π»ΠΎΠΊΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΌ listen 80 Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΈ (Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° acme_http_port ΡΠ΅ ΡΠ°Π΄Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΡΠ° Π·Π° ΡΠ»ΡΡΠ°ΡΠ΅). ΠΡΠΈΠ±Π»ΠΈΠΆΠ½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΡΠΈΠΌΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠ΅ ΡΠ°Π΄Π° Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π° (Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ΅ ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ Π±ΡΠΎΡΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π°, ΡΠ°Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠΈ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° max_cert_size Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ acme_client). ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ° ACME ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ΅ ΡΠ°Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΌ acme_max_response_size.
- ΠΠΎΠ΄ΡΡΠΊΠ° Π·Π° AVIF ΠΈ HEIC ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ http_image_filter. ΠΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ convert ΡΠ΅ Π΄ΠΎΠ΄Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ image_filter Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ»ΠΈΠΊΠ°.
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ECH (Encrypted ClientHello) TLS Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΡ, ΠΊΠΎΡΠ° Π½Π°ΡΡΠ°Π²ΡΠ° ΡΠ°Π·Π²ΠΎΡ ESNI (Encrypted Server Name Indication) Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ΅ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠΌΠ° TLS ΡΠ΅ΡΠΈΡΠ΅, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΡΡΠ°ΠΆΠ΅Π½ΠΎ ΠΈΠΌΠ΅ Π΄ΠΎΠΌΠ΅Π½Π°. ECH Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ ΠΊΡΡΡΠ° ΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½Π° ΠΏΡΡΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ ssl_encrypted_hello_key, Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡ ECH-Π° ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π΅ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ $ssl_encrypted_hello.
- ΠΠΎΠ΄ΡΠ» ΡΡΡΠΈΠΌΠΎΠ²Π°ΡΠ° ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° PROXYv2 ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΡΠ΅Π½ΠΎΡΠ° ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠΊΡΠΈΡΠ°Π½Π΅ ΡΡΠ΅ΡΠ°ΡΠ΅. ΡΠ΅ΡΠ²Π΅ΡΠΈ.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ Π±ΡΠΎΡΠ°ΡΠ° ΡΡΠ°Π²ΠΊΠΈ Ρ Π»ΠΈΡΡΠ°ΠΌΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠΌΠ° ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΈΠ·Π²ΠΎΠ·Π° ΠΡΠΎΠΌΠ΅ΡΠ΅ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠ° (ΠΏΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ Π·Π°Π²ΡΡΠ°Π²Π°ΡΡ ΠΊΠΎΡΠΎΠΌ ΡΡΡΠΎΠΌ ΡΠ°Π΄Π° Π²ΡΠ°ΡΠ°ΡΡ Π±ΡΠΎΡ ΡΡΠ°Π²ΠΊΠΈ Ρ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΎΡ API ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠΈ).
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π° $sent_body, ΠΊΠΎΡΠ° ΡΠ°Π΄ΡΠΆΠΈ ΡΠ΅Π»ΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ° ΠΏΠΎΠ΄Π·Π°Ρ ΡΠ΅Π²Π° ΠΈΠ»ΠΈ Π·Π°Ρ ΡΠ΅Π²Π° ΠΈΠ· ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠΎΠ³ ΠΌΠΎΠ΄ΡΠ»Π°.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π° $upstream_cache_key, ΠΊΠΎΡΠ° ΡΠ°Π΄ΡΠΆΠΈ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΊΡΡΡ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅.
- Π£ ΠΏΡΠΎΠΊΡΠΈΡΡ Π·Π° ΠΏΠΎΡΡΡ-ΡΠ΅ΡΠ²Π΅Ρ ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅ΡΠΎΠ΄Π΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ XOAUTH2 ΠΈ OAUTHBEARER.
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ AWS-LC, ΠΊΠΎΡΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠΎ ΠΠΌΠ°Π·ΠΎΠ½.
- Π Π΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄ΡΠΎΠΌ Π½Π° NetBSD 10.0.
- ΠΠΎΠ±ΠΎΡΡΠ°Π½ΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π½ΠΎ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ GET ΠΈ HEAD Π·Π°Ρ ΡΠ΅Π²Π°.
- Π Π΅ΡΠ΅Π½ΠΈ ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ° HTTP/3 Π²Π΅Π·Π°Π½ΠΈ Π·Π° Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠΎΠΊΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ ΡΡΠΈΡΠ°Π²Π°ΡΠ° ΠΈ ΠΏΠ°Π΄ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°ΠΊΠΎΠ½ Π°ΠΆΡΡΠΈΡΠ°ΡΠ° Π±ΠΈΠ½Π°ΡΠ½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅; ΠΏΠΎΠ±ΠΎΡΡΠ°Π½ΠΎ ΡΠ΅ ΡΡΠΌΠ΅ΡΠ°Π²Π°ΡΠ΅ QUIC ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΠ° ΡΡΠ°Π²ΡΡΠ°Π²Π°ΡΠ΅ΠΌ BPF ΠΊΠΎΠ΄Π°.
- ΠΡΠΎΠΌΠ΅Π½Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π΅ Ρ nginx 1.29.3 ΡΡ ΠΏΠΎΡΡΠΎΠ²Π°Π½Π΅ ΠΈΠ· nginx ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡΠΌΠ° ΠΏΡΠΎΡΠ΅ΠΊΡΠ°, ΡΠ° ΠΈΠ·ΡΠ·Π΅ΡΠΊΠΎΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° add_header_inherit ΠΈ add_trailer_inherit. ΠΠ΅ΠΊΠ° ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ° ΠΈΠ· FreeNginx-Π° ΡΡ ΠΏΠΎΡΡΠΎΠ²Π°Π½Π°.
ΠΠ·Π²ΠΎΡ: ΠΎΠΏΠ΅Π½Π½Π΅Ρ.ΡΡ
