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

Netcraft рдХреЛ рдорд╛рд░реНрдЪ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдиреБрд╕рд╛рд░, nginx рд╕рдмреИ рд╕рдХреНрд░рд┐рдп рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ 20.15% рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рдПрдХ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ 19.56%, рджреБрдИ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ 20.73%), рдЬреБрди рдпрд╕ рд╢реНрд░реЗрдгреАрдорд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛рдорд╛ рджреЛрд╕реНрд░реЛ рд╕реНрдерд╛рдирд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ (рдЕрдкрд╛рдЪреЗрдХреЛ рд╢реЗрдпрд░ 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% рдерд┐рдпреЛ (рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ 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, рдкреНрд░рдорд╛рдгрдкрддреНрд░рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ OCSP рд╣реНрдпрд╛рдиреНрдбрд▓рд░рдХреЛ URL рд▓рд╛рдИ рдкреБрди: рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди - ssl_ocsp_responderред
  • ngx_stream_set_module рдореЛрдбреНрдпреБрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЪрд░ рд╕рд░реНрднрд░рдорд╛ рдорд╛рди рддреЛрдХреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ { рд╕реБрдиреНрдиреБрд╣реЛрд╕реН 12345; $true 1 рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН; }
  • рдкреНрд░реЛрдХреНрд╕реА рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рдХреБрдХреАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЭрдгреНрдбрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди proxy_cookie_flags рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдХреБрдХреА "рдПрдХ" рдорд╛ "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 рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ PrioritizeChaCha рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • "ssl_reject_handshake" рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ SSL рдЬрдбрд╛рдирд╣рд░реВ рд╡рд╛рд░реНрддрд╛ рдЧрд░реНрдиреЗ рд╕рдмреИ рдкреНрд░рдпрд╛рд╕рд╣рд░реВрд▓рд╛рдИ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рдирд┐рд░реНрджреЗрд╢рди рджрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, SNI рдХреНрд╖реЗрддреНрд░рдорд╛ рдЕрдЬреНрдЮрд╛рдд рд╣реЛрд╕реНрдЯрдирд╛рдорд╣рд░реВ рднрдПрдХрд╛ рд╕рдмреИ рдХрд▓рд╣рд░реВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ)ред рд╕рд░реНрднрд░ { рд╕реБрдиреНрдиреБрд╣реЛрд╕реН 443 рдПрд╕рдПрд╕рдПрд▓; ssl_reject_handshake on; } рд╕рд░реНрднрд░ { рд╕реБрдиреНрдиреБрд╣реЛрд╕реН 443 рдПрд╕рдПрд╕рдПрд▓; 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 рд╕рдБрдЧ рднреНрд░рдорд┐рдд рд╣реБрдиреБ рд╣реБрдБрджреИрди, рдЬрд╕рд▓реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рд╕рдордп рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ рдЬреБрди рдкрдЫрд┐-рдЬрд╛рдЗрдн рдЬрдбрд╛рди рдмрдиреНрдж рд╣реБрдиреНрдЫ)ред
  • $connection_time рдЪрд░ рдердкрд┐рдпреЛ, рдЬрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рддрдкрд╛рдЗрдБ рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдб рд╢реБрджреНрдзрддрд╛ рд╕рдВрдЧ рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдЬрдбрд╛рди рдЕрд╡рдзрд┐ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  • рдПрдЙрдЯрд╛ "min_free" рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" рд░ "uwsgi_cache_path" рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдЦрд╛рд▓реА рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕рдХреЛ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреЗ рдЖрдзрд╛рд░рдорд╛ рдХреНрдпрд╛рд╕ рдЖрдХрд╛рд░рд▓рд╛рдИ рдирд┐рдпрдорди рдЧрд░реНрджрдЫред
  • "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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди