ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° Angie 1.5.0, ΠΎΡΠ²Π΅ΡΠ²Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΎΡ Nginx Π³ΡΡΠΏΠΏΠΎΠΉ Π±ΡΠ²ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ²ΠΎΠ»ΠΈΠ²ΡΠΈΡ ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ F5 Network. ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Angie Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π Π΅Π΄ ΠΠ‘, Astra Linux Special Edition, Π ΠΎΡΠ° Π₯ΡΠΎΠΌ Π‘Π΅ΡΠ²Π΅Ρ, ΠΠ»ΡΡ ΠΈ Π€Π‘Π’ΠΠ-Π²Π΅ΡΡΠΈΠΈ ΠΠ»ΡΡ.
Π‘ΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ «ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ», ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΡΠ΅Π½ΡΡ 2022 Π³ΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΈ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ 1 ΠΌΠ»Π½ Π΄ΠΎΠ»Π»Π°ΡΠΎΠ². Π‘ΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ: ΠΠ°Π»Π΅Π½ΡΠΈΠ½ ΠΠ°ΡΡΠ΅Π½Π΅Π² (Π»ΠΈΠ΄Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°Π·Π²ΠΈΠ²Π°Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Nginx Unit), ΠΠ²Π°Π½ ΠΠΎΠ»ΡΡΠ½ΠΎΠ² (Π±ΡΠ²ΡΠΈΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΡΠΎΠ½ΡΡΠ½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Rambler ΠΈ Mail.Ru), ΠΠ»Π΅Π³ ΠΠ°ΠΌΠΎΠ½ΡΠΎΠ² (ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ NGINX Inc) ΠΈ Π ΡΡΠ»Π°Π½ ΠΡΠΌΠΈΠ»ΠΎΠ² ([email protected]).
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ Angie 1.5.0:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ http_acme, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ACME (Automatic Certificate Management Environment), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΌ ΡΠ΅Π½ΡΡΠΎΠΌ Let’s Encrypt. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ http_acme Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π² Let’s Encrypt ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ACME. http { resolver 127.0.0.1:53; # ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ‘acme_client’ acme_client example https://acme-staging-v02.api.letsencrypt.org/directory; server { listen 80; listen 443 ssl; server_name example.com www.example.com; acme example; ssl_certificate $acme_cert_example; ssl_certificate_key $acme_cert_key_example; } }
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° auto_redirect Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ «location» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «/». ΠΡΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° «auto_redirect» Π²ΡΡΡΠ°Π²Π»Π΅Π½Π° Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «on», ΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ URI Π·Π°ΠΏΡΠΎΡΠΎΠ², Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΡ ΡΡ Π½Π° «/» (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ ΠΊ «/prefix» Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° «/prefix/»). location /prefix/ { auto_redirect on; }
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΎΡ Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ISO 8601 ΠΏΡΠΈ ΡΠΊΡΠΏΠΎΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Prometheus ΠΈΠ»ΠΈ Π² JSON API. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΎΡ Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «date=epoch».
- Π API Π²ΡΠ΄Π°ΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ «recovering», ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, ΡΡΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ slow_start ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ upstream-Ρ ΠΎΡΡΠ° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡ.
- ΠΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° «-V» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ ΠΏΠΎΠΊΠ°Π· Π²Π΅ΡΡΠΈΠΈ nginx, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠ΅ Angie.
- ΠΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° nginx ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΠΈΠ΅ΡΡ Π² nginx 1.25.4.
- Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ FreeBSD 13 (arm64) ΠΈ RED OS 8 (x86-64).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ angie-module-otel (NGINX Native OpenTelemetry). ΠΠ°ΠΊΠ΅Ρ angie-module-opentracing ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ nginx-opentracing 0.34.0.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru