Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅Π½ Π½ΠΎΠ² ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΊΠ»ΠΎΠ½ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈΡ HTTP ΡΡΡΠ²ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ nginx 1.20.0, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΡΡΡΠΏΠ°Π½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ 1.19.x. Π Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡΠ°Π±ΠΈΠ»Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ 1.20 ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π‘ΠΊΠΎΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π½Π° nginx 1.21, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΡΡ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΊΠ»ΠΎΠ½, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ Nginx Plus Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΠΈ ΠΌΠ΅ΡΠ΅ΡΠ°.
Π‘ΠΏΠΎΡΠ΅Π΄ ΠΌΠ°ΡΡΠ΅Π½ΡΠΊΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° Netcraft, nginx ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° 20.15% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΡΠ°ΠΉΡΠΎΠ²Π΅ (ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° 19.56%, ΠΏΡΠ΅Π΄ΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ 20.73%), ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° Π²ΡΠΎΡΠΎΡΠΎ ΠΌΡΡΡΠΎ ΠΏΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡ Π² ΡΠ°Π·ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ (Π΄Π΅Π»ΡΡ Π½Π° Apache ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° 25.38% (ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° 27.64%), Google - 10.09%, Cloudflare - 8.51%.Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ²Π΅, nginx Π·Π°ΠΏΠ°Π·Π²Π° Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎΡΠΎ ΡΠΈ ΠΈ Π·Π°Π΅ΠΌΠ° 35.34% ΠΎΡ ΠΏΠ°Π·Π°ΡΠ° (ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° 36.91%, ΠΏΡΠ΅Π΄ΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ - 27.52%), Π΄ΠΎΠΊΠ°ΡΠΎ Π΄Π΅Π»ΡΡ Π½Π° Apache ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° 25.98%, OpenResty (ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° nginx ΠΈ LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.
Π‘ΡΠ΅Π΄ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈΡΠ΅ Π½Π°ΠΉ-ΠΏΠΎΡΠ΅ΡΠ°Π²Π°Π½ΠΈ ΡΠ°ΠΉΡΠΎΠ²Π΅ Π² ΡΠ²Π΅ΡΠ° Π΄Π΅Π»ΡΡ Π½Π° nginx Π΅ 25.55% (ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° 25.54%, ΠΏΡΠ΅Π΄ΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ 26.22%). Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ 419 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° ΡΠ°Π±ΠΎΡΡΡ Ρ Nginx (459 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°). Π‘ΠΏΠΎΡΠ΅Π΄ W3Techs, nginx ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° 33.7% ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΡΠ΅ΡΠ°Π²Π°Π½ΠΈΡΠ΅ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΠ°ΠΉΡΠΎΠ²Π΅, ΠΏΡΠ΅Π· Π°ΠΏΡΠΈΠ» ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ 31.9%, ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° - 41.8% (ΡΠΏΠ°Π΄ΡΡ ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ²Π° Ρ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Cloudflare http ΡΡΡΠ²ΡΡ). ΠΠ΅Π»ΡΡ Π½Π° Apache ΡΠΏΠ°Π΄Π½Π° ΠΏΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ° ΠΎΡ 39.5% Π½Π° 34%, Π° Π΄Π΅Π»ΡΡ Π½Π° Microsoft IIS ΠΎΡ 8.3% Π½Π° 7%. ΠΠ΅Π»ΡΡ Π½Π° LiteSpeed ββΠ½Π°ΡΠ°ΡΡΠ²Π° ΠΎΡ 6.3% Π½Π° 8.4%, Π° Π½Π° Node.js ΠΎΡ 0.8% Π½Π° 1.2%. Π Π ΡΡΠΈΡ nginx ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° 79.1% ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΡΠ΅ΡΠ°Π²Π°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΡΠΎΠ²Π΅ (ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° - 78.9%).
ΠΠ°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΎΠ½Π° Π½Π°Π³ΠΎΡΠ΅ ΠΏΠΎ Π²Π΅ΡΠΈΠ³Π°ΡΠ° 1.19.x:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° OCSP (ΠΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΡΡΠ°ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ). ΠΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° ssl_ocsp, Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠ΅ΡΠ° - ssl_ocsp_cache, Π·Π° ΠΏΡΠ΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° URL Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° OCSP, ΠΏΠΎΡΠΎΡΠ΅Π½ Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° - ssl_ocsp_responder.
- ΠΠΊΠ»ΡΡΠ΅Π½ Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΡ ngx_stream_set_module, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΡΡΡΠ²ΡΡ { listen 12345; Π·Π°Π΄Π°ΠΉΡΠ΅ $true 1; }
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° proxy_cookie_flags Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π² ΠΏΡΠΎΠΊΡΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ»Π°Π³Π° βhttponlyβ ΠΊΡΠΌ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠ°ΡΠ° βoneβ ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ βnosecureβ ΠΈ βsamesite=strictβ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=ΡΡΡΠΎΠ³;
ΠΠΎΠ΄ΠΎΠ±Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° userid_flags Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ ΠΊΡΠΌ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈΡΠ΅ ΡΡΡΠΎ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π·Π° ΠΌΠΎΠ΄ΡΠ»Π° ngx_http_userid.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ βssl_conf_commandβ, βproxy_ssl_conf_commandβ, βgrpc_ssl_conf_commandβ ΠΈ βuwsgi_ssl_conf_commandβ, Ρ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° OpenSSL. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ChaCha ΡΠΈΡΡΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° TLSv1.3 ΡΠΈΡΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ssl_conf_command ΠΠΏΡΠΈΠΈ PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° "ssl_reject_handshake", ΠΊΠΎΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° Π΄Π° ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»ΡΡ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅ Π½Π° SSL Π²ΡΡΠ·ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΡ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ ΠΎΡΡΠΎΠ²Π΅ Π² ΠΏΠΎΠ»Π΅ΡΠΎ SNI). ΡΡΡΠ²ΡΡ {ΡΠ»ΡΡΠ°ΠΌ 443 ssl; ssl_reject_handshake Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ; } ΡΡΡΠ²ΡΡ {ΡΠ»ΡΡΠ°ΠΌ 443 ssl; ΠΈΠΌΠ΅_Π½Π°_ΡΡΡΠ²ΡΡ example.com; ssl_ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ example.com.crt; ssl_certificate_key example.com.key; }
- ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° proxy_smtp_auth Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈΡ ΠΏΡΠΎΠΊΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π² Π·Π°Π΄Π½Π°ΡΠ° ΡΠ°ΡΡ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° AUTH ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° PLAIN SASL.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "keepalive_time", ΠΊΠΎΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΠΎΠ±ΡΠΈΡ ΠΆΠΈΠ²ΠΎΡ Π½Π° Π²ΡΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ° Π²ΡΡΠ·ΠΊΠ°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½Π° (Π΄Π° Π½Π΅ ΡΠ΅ Π±ΡΡΠΊΠ° Ρ keepalive_timeout, ΠΊΠΎΡΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ°ΡΠ° Π²ΡΡΠ·ΠΊΠ° ΡΠ΅ Π·Π°ΡΠ²Π°ΡΡ).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $connection_time, ΡΡΠ΅Π· ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Ρ ΡΠΎΡΠ½ΠΎΡΡ Π΄ΠΎ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
- ΠΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ βproxy_cache_pathβ, βfastcgi_cache_pathβ, βscgi_cache_pathβ ΠΈ βuwsgi_cache_pathβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ βmin_freeβ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠ΅ΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- ΠΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ "lingering_close", "lingering_time" ΠΈ "lingering_timeout" ΡΠ° Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ HTTP/2.
- ΠΠΎΠ΄ΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π² HTTP/2 Π΅ Π±Π»ΠΈΠ·ΡΠΊ Π΄ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° HTTP/1.x. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ "http2_recv_timeout", "http2_idle_timeout" ΠΈ "http2_max_requests" Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΠΎΠ±ΡΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ "keepalive_timeout" ΠΈ "keepalive_requests". ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ βhttp2_max_field_sizeβ ΠΈ βhttp2_max_header_sizeβ ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° βlarge_client_header_buffersβ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ β-eβ, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° Π·Π°ΠΏΠΈΡ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΠΌΠ΅ΡΡΠΎ ΠΆΡΡΠ½Π°Π»Π°, ΠΏΠΎΡΠΎΡΠ΅Π½ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ stderr.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru