Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅
ΠΠ°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΎΠ½Π° Π½Π°Π³ΠΎΡΠ΅ ΠΏΠΎ Π²Π΅ΡΠΈΠ³Π°ΡΠ° 1.15.x:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ
ssl_certificate ' ΠΈ 'ssl_ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ_ΠΊΠ»ΡΡ ', ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅;
- Π Π±Π»ΠΎΠΊΠ° "
ΡΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Β» Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π½ΠΎΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Β«ΡΠ»ΡΡΠ°Π΅Π½ β, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΡΡΠ²ΡΡ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°; - Π ΠΌΠΎΠ΄ΡΠ»Π°
ngx_stream_ssl_preread Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°$ssl_preread_protocol ,
ΠΊΠΎΠΉΡΠΎ ΡΠΊΠ°Π·Π²Π° Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° SSL/TLS ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°. ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΡΡΡ ΠΈ Π±Π΅Π· SSL ΠΏΡΠ΅Π· Π΅Π΄ΠΈΠ½ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΠΎΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΠΈΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊ ΡΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ http ΠΈ stream. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΡΡΠ΅Π· SSH ΠΈ HTTPS ΠΏΡΠ΅Π· Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΡ, ΠΏΠΎΡΡ 443 ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ΅Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ SSH, Π½ΠΎ Π°ΠΊΠΎ Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° SSL Π²Π΅ΡΡΠΈΡΡΠ°, ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ HTTPS. - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΊΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π° Π½Π°Π³ΠΎΡΠ΅ ΠΏΠΎ Π²Π΅ΡΠΈΠ³Π°ΡΠ° "
$upstream_bytes_sent ", ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Π±ΡΠΎΡ Π½Π° Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅, ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΊΡΠΌ Π³ΡΡΠΏΠΎΠ²ΠΈΡ ΡΡΡΠ²ΡΡ; - ΠΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π°
ΠΏΠΎΡΠΎΠΊ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΠ΅ΡΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Ρ ΠΎΠ΄ΡΡΠΈ UDP Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΈ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°; - Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ°"
proxy_requests ", ΡΠΊΠ°Π·Π²Π° Π±ΡΠΎΡ Π½Π° Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΈΡΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° UDP ΡΠ΅ΡΠΈΡ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°. Π‘Π»Π΅Π΄ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±ΡΠΎΠΉ Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΈ, ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΎΡ ΡΡΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π·Π°ΠΏΠΎΡΠ²Π° Π½ΠΎΠ²Π° ΡΠ΅ΡΠΈΡ; - ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° Π·Π° ΡΠ»ΡΡΠ°Π½Π΅ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΡΠΊΠ°Π·Π²Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° ΠΏΠΎΡΡΠΎΠ²Π΅;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° "
ssl_early_data Β» Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ°0-RTT ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ TLSv1.3, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° TLS Π²ΡΡΠ·ΠΊΠ° ΠΈ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ Π±ΡΠΎΡ Π½Π° RTT Π΄ΠΎ 2 ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° Π²ΡΡΠ·ΠΊΠ°; - ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° keepalive Π·Π° ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ (Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° SO_KEEPALIVE Π·Π° ΡΠΎΠΊΠ΅ΡΠΈ):
- Β«
proxy_socket_keepalive " - ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ "TCP keepalive" Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠ°; - Β«
fastcgi_socket_keepalive " - ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ "TCP keepalive" Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ FastCGI ΡΡΡΠ²ΡΡΠ°; - Β«
grpc_socket_keepalive " - ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ "TCP keepalive" Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ gRPC ΡΡΡΠ²ΡΡΠ°; - Β«
memcached_socket_keepalive " - ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ "TCP keepalive" Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ memcached ΡΡΡΠ²ΡΡΠ°; - Β«
scgi_socket_keepalive " - ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ "TCP keepalive" Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ SCGI ΡΡΡΠ²ΡΡΠ°; - Β«
uwsgi_socket_keepalive " - ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ "TCP keepalive" Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ uwsgi ΡΡΡΠ²ΡΡΠ°.
- Β«
- Π Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "
limit_req" Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ βΠ·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅β, ΠΊΠΎΠΉΡΠΎ Π·Π°Π΄Π°Π²Π° Π»ΠΈΠΌΠΈΡ, ΡΠ»Π΅Π΄ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°Π±Π°Π²ΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ; - ΠΠΎΠ²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ βkeepalive_timeoutβ ΠΈ βkeepalive_requestsβ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ Π±Π»ΠΎΠΊΠ° βupstreamβ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° Keepalive;
- ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "ssl" Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½Π°, Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° "ssl" Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "listen". ΠΠΈΠΏΡΠ²Π°ΡΠΈΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ²Π°Ρ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° βlistenβ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° βsslβ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅;
- ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° reset_timedout_connection, Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ΅ Π·Π°ΡΠ²Π°ΡΡΡ Ρ ΠΊΠΎΠ΄ 444, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ ΠΈΠ·ΡΠ΅ΡΠ΅;
- SSL Π³ΡΠ΅ΡΠΊΠΈ βhttp Π·Π°ΡΠ²ΠΊΠ°β, βhttps ΠΏΡΠΎΠΊΡΠΈ Π·Π°ΡΠ²ΠΊΠ°β, βΠ½Π΅ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»β ΠΈ βΠ²Π΅ΡΡΠΈΡ ΡΠ²ΡΡΠ΄Π΅ Π½ΠΈΡΠΊΠ°β Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° Ρ Π½ΠΈΠ²ΠΎ βinfoβ Π²ΠΌΠ΅ΡΡΠΎ βcritβ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° Π°Π½ΠΊΠ΅ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Windows ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Windows Vista ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅
TLSv1.3 ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° BoringSSL, Π° Π½Π΅ ΡΠ°ΠΌΠΎ Ρ OpenSSL.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru