ΠΠΎΡΠ»Π΅ Π³ΠΎΠ΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ 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%). Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ nginx ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 419 ΠΌΠ»Π½ ΡΠ°ΠΉΡΠΎΠ² (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 459 ΠΌΠ»Π½). ΠΠΎ Π΄Π°Π½Π½ΡΠΌ W3Techs nginx ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° 33.7% ΡΠ°ΠΉΡΠΎΠ² ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΡ , Π² Π°ΠΏΡΠ΅Π»Π΅ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΡΡΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ» 31.9%, ΠΏΠΎΠ·Π°ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ — 41.8% (ΡΠΏΠ°Π΄ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ ΡΡΡΡΡ http-ΡΠ΅ΡΠ²Π΅ΡΠ° Cloudflare). ΠΠΎΠ»Ρ 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 (Online Certificate Status Protocol). ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ssl_ocsp, Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΡΡΠ° — ssl_ocsp_cache, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ URL OCSP-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ΅ — ssl_ocsp_responder.
- Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΡΠ½ ΠΌΠΎΠ΄ΡΠ»Ρ ngx_stream_set_module, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ server { listen 12345; set $true 1; }
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° proxy_cookie_flags Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² Π΄Π»Ρ Cookie Π² ΠΏΡΠΎΠΊΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ Cookie «one» ΡΠ»Π°Π³Π° «httponly», Π° Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Cookie ΡΠ»Π°Π³ΠΎΠ² «nosecure» ΠΈ «samesite=strict» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;
ΠΠΎΡ ΠΎΠΆΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° userid_flags Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² ΠΊ Cookie ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ 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 Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° «ssl_reject_handshake», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ²Π΅ΡΠ³Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ SSL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ ΠΎΡΡΠΎΠ² Π² ΠΏΠΎΠ»Π΅ SNI). server { listen 443 ssl; ssl_reject_handshake on; } server { listen 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
- Π ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° proxy_smtp_auth, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Π±ΡΠΊΠ΅Π½Π΄Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ AUTH ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° PLAIN SASL.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° «keepalive_time», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ keep-alive ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡΠΎ (Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ keepalive_timeout, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ keep-alive ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $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