nginx 1.20.0 рд░рд┐рд▓реАрдЬ

рдПрдХ рд╡рд░реНрд╖рдХреЛ рд╡рд┐рдХрд╛рд╕ рдкрдЫрд┐, рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди HTTP рд╕рд░реНрднрд░ рд░ рдорд▓реНрдЯрд┐рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░реЛрдХреНрд╕реА рд╕рд░реНрднрд░рдХреЛ рдирдпрд╛рдБ рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛, nginx 1.20.0, рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрд╕рд▓реЗ рдореБрдЦреНрдп 1.19.x рд╢рд╛рдЦрд╛рдорд╛ рд╕рдВрдЪрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рднрд╡рд┐рд╖реНрдпрдорд╛, рд╕реНрдерд┐рд░ 1.20 рд╢рд╛рдЦрд╛рдорд╛ рд╕рдмреИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрдореНрднреАрд░ рдмрдЧрд╣рд░реВ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рд╣реБрдиреЗрдЫрдиреНред рдореБрдЦреНрдп nginx 1.21 рд╢рд╛рдЦрд╛ рдЪрд╛рдБрдбреИ рдЬрд╛рд░реА рдЧрд░рд┐рдиреЗрдЫ, рдЬрд╣рд╛рдБ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╣рдиреЗрдЫред рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд╕рдБрдЧ рдЕрдиреБрдХреВрд▓рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдирдкрд░реНрдиреЗ рдирд┐рдпрдорд┐рдд рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреМрдВ, рдЬреБрди рдкреНрд░рддреНрдпреЗрдХ рддреАрди рдорд╣рд┐рдирд╛рдорд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ Nginx Plus рд░рд┐рд▓реАрдЬрд╣рд░реВрдХреЛ рдЖрдзрд╛рд░ рд╣реЛред

рдиреЗрдЯрдХреНрд░рд╛рдлреНрдЯрдХреЛ рдорд╛рд░реНрдЪ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдиреБрд╕рд╛рд░, nginx рд╕рдмреИ рд╕рдХреНрд░рд┐рдп рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ реиреж.резрел% рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рдПрдХ рд╡рд░реНрд╖ рдЕрдШрд┐ резреп.релрем%, рджреБрдИ рд╡рд░реНрд╖ рдЕрдШрд┐ реиреж.ренрей%), рдЬреБрди рдпрд╕ рд╢реНрд░реЗрдгреАрдорд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛рдХреЛ рджреЛрд╕реНрд░реЛ рд╕реНрдерд╛рдирдорд╛ рдЫ (рдЕрдкрд╛рдЪреЗрдХреЛ рд╣рд┐рд╕реНрд╕рд╛ реирел.рейрео% (рдПрдХ рд╡рд░реНрд╖ рдЕрдШрд┐ реирен.ремрек%), рдЧреБрдЧрд▓рдХреЛ резреж.режреп%, рд░ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░рдХреЛ рео.релрез%)ред рд╕рд╛рдереИ, рд╕рдмреИ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджрд╛, nginx рд▓реЗ рдЖрдлреНрдиреЛ рдиреЗрддреГрддреНрд╡ рдХрд╛рдпрдо рд░рд╛рдЦреНрдЫ рд░ рдмрдЬрд╛рд░рдХреЛ рейрел.рейрек% рдУрдЧрдЯреЗрдХреЛ рдЫ (рдПрдХ рд╡рд░реНрд╖ рдЕрдШрд┐ рейрем.репрез%, рджреБрдИ рд╡рд░реНрд╖ рдЕрдШрд┐ реирен.релреи%), рдЬрдмрдХрд┐ Apache рдХреЛ рд╣рд┐рд╕реНрд╕рд╛ реирел.репрео%, OpenResty рдХреЛ (nginx рд░ LuaJIT рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд▓реЗрдЯрдлрд░реНрдо) рем.релрел%, рд░ Microsoft IIS рдХреЛ рел.репрем% рдЫред

рд╡рд┐рд╢реНрд╡рдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ рднреНрд░рдордг рдЧрд░рд┐рдПрдХрд╛ рд▓рд╛рдЦреМрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВ рдордзреНрдпреЗ, nginx рдХреЛ рд╣рд┐рд╕реНрд╕рд╛ реирел.релрел% рдЫ (рдПрдХ рд╡рд░реНрд╖ рдЕрдШрд┐ реирел.релрек%, рджреБрдИ рд╡рд░реНрд╖ рдЕрдШрд┐ реирем.реиреи%)ред рд╣рд╛рд▓, nginx рд▓реЗ рд▓рдЧрднрдЧ рекрез рдХрд░реЛрдб репреж рд▓рд╛рдЦ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрд▓рд╛рдИ рд╢рдХреНрддрд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ (рдПрдХ рд╡рд░реНрд╖ рдЕрдШрд┐ рекрел рдХрд░реЛрдб репреж рд▓рд╛рдЦ)ред W3Techs рдХрд╛ рдЕрдиреБрд╕рд╛рд░, nginx рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ рднреНрд░рдордг рдЧрд░рд┐рдПрдХрд╛ рд▓рд╛рдЦреМрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рейрей.рен% рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ; рдЧрдд рд╡рд░реНрд╖рдХреЛ рдЕрдкреНрд░рд┐рд▓рдорд╛, рдпреЛ рд╕рдВрдЦреНрдпрд╛ рейрез.реп% рдерд┐рдпреЛ, рд░ рдЕрдШрд┐рд▓реНрд▓реЛ рд╡рд░реНрд╖, рдпреЛ рекрез.рео% рдерд┐рдпреЛ (рдпреЛ рдЧрд┐рд░рд╛рд╡рдЯ Cloudflare рдХреЛ HTTP рд╕рд░реНрднрд░рдХреЛ рдЫреБрдЯреНрдЯреИ рд▓реЗрдЦрд╛рдорд╛ рд╕рдВрдХреНрд░рдордг рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ)ред Apache рдХреЛ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд░реНрд╖рднрд░рд┐ рейреп.рел% рдмрд╛рдЯ рейрек% рдорд╛ рдШрдЯреНрдпреЛ, рд░ Microsoft IIS рдХреЛ рд╣рд┐рд╕реНрд╕рд╛ рео.рей% рдмрд╛рдЯ рен% рдорд╛ рдШрдЯреНрдпреЛред LiteSpeed тАЛтАЛрдХреЛ рд╣рд┐рд╕реНрд╕рд╛ рем.рей% рдмрд╛рдЯ рео.рек% рдорд╛ рдмрдвреНрдпреЛ, рд░ Node.js рдХреЛ реж.рео% рдмрд╛рдЯ рез.реи% рдорд╛ рдкреБрдЧреНрдпреЛред рд░реВрд╕рдорд╛, NGINX рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ рднреНрд░рдордг рдЧрд░рд┐рдПрдХрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВ рдордзреНрдпреЗ ренреп.рез% рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рдЧрдд рд╡рд░реНрд╖ - ренрео.реп%)ред

1.19.x рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╢рд╛рдЦрд╛рдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рдХреНрд░рдордорд╛ рдердкрд┐рдПрдХрд╛ рд╕рдмреИрднрдиреНрджрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░рд╣рд░реВ:

  • OCSP (рдЕрдирд▓рд╛рдЗрди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░реЛрдЯреЛрдХрд▓) рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдПрдХреЛ рдЫред ssl_ocsp рдирд┐рд░реНрджреЗрд╢рди рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдХреНрд╖рдо рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, ssl_ocsp_cache рдХреНрдпрд╛рд╕ рдЖрдХрд╛рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд░ ssl_ocsp_responder рдкреНрд░рдорд╛рдгрдкрддреНрд░рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ OCSP рд╣реНрдпрд╛рдиреНрдбрд▓рд░ URL рд▓рд╛рдИ рдУрднрд░рд░рд╛рдЗрдб рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
  • ngx_stream_set_module рдореЛрдбреНрдпреБрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рд░реНрднрд░ рдЪрд░рдорд╛ рдорд╛рди рддреЛрдХреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ { listen 12345; set $true 1; }
  • рдкреНрд░реЛрдХреНрд╕реА рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рдХреБрдХреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЭрдгреНрдбрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди proxy_cookie_flags рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдПрдХреЛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреБрдХреА "one" рдорд╛ "httponly" рдЭрдгреНрдбрд╛ рд░ рдЕрдиреНрдп рд╕рдмреИ рдХреБрдХреАрд╣рд░реВрдорд╛ "nosecure" рд░ "samesite=strict" рдЭрдгреНрдбрд╛ рдердкреНрди, рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    рдХреБрдХреАрдорд╛ рдЭрдгреНрдбрд╛ рдердкреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди 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 рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджрд┐рдиреБрд╣реЛрд╕реН ChaCha; ssl_conf_command рд╕рд╛рдЗрдлрд░рд╕реБрдЗрдЯрд╣рд░реВ TLS_CHACHA20_POLY1305_SHA256; рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  • "ssl_reject_handshake" рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рд╕рдмреИ рд╣рд╛рдд рдорд┐рд▓рд╛рдЙрдиреЗ рдкреНрд░рдпрд╛рд╕рд╣рд░реВрд▓рд╛рдИ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рдирд┐рд░реНрджреЗрд╢рди рджрд┐рдиреНрдЫред SSL-рдЬрдбрд╛рдирд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, SNI рдХреНрд╖реЗрддреНрд░рдорд╛ рдЕрдЬреНрдЮрд╛рдд рд╣реЛрд╕реНрдЯрдирд╛рдорд╣рд░реВ рднрдПрдХрд╛ рд╕рдмреИ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ)ред рд╕рд░реНрднрд░ { рд╕реБрдиреНрдиреБрд╣реЛрд╕реН рекрекрей ssl; ssl_reject_handshake рдЕрди; } рд╕рд░реНрднрд░ { рд╕реБрдиреНрдиреБрд╣реЛрд╕реН рекрекрей 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