рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдирдВрддрд░
рдЪреНрдпрд╛ рдЕрдиреБрд╖рдВрдЧрд╛рдиреЗ
рдЬрдЧрд╛рддреАрд▓ рд╕рд░реНрд╡рд╛рдзрд┐рдХ рднреЗрдЯ рджрд┐рд▓реЗрд▓реНрдпрд╛ рджрд╢рд▓рдХреНрд╖ рд╕рд╛рдЗрдЯреНрд╕рдордзреНрдпреЗ, nginx рдЪрд╛ рд╡рд╛рдЯрд╛ 25.54% рдЖрд╣реЗ (рдПрдХ рд╡рд░реНрд╖рд╛рдкреВрд░реНрд╡реА 26.22%, рджреЛрди рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА 23.76%). рд╕рдзреНрдпрд╛, рд╕реБрдорд╛рд░реЗ 459 рджрд╢рд▓рдХреНрд╖ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕ Nginx рдЪрд╛рд▓рд╡рдд рдЖрд╣реЗрдд (рдПрдХ рд╡рд░реНрд╖рд╛рдкреВрд░реНрд╡реА 397 рджрд╢рд▓рдХреНрд╖). рджреНрд╡рд╛рд░реЗ
1.17.x рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╢рд╛рдЦреЗрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рджрд░рдореНрдпрд╛рди рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛:
- рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд▓реЗ
рдорд░реНрдпрд╛рджрд╛_рд░реЗрдХ_ рдбреНрд░рд╛рдп_рд░реБрди , рдЬреЗ рдЯреНрд░рд╛рдпрд▓ рд░рди рдореЛрдб рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд┐рдирдВрддреА рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рддреАрд╡реНрд░рддреЗрд╡рд░ (рджрд░ рдорд░реНрдпрд╛рджреЗрд╢рд┐рд╡рд╛рдп) рдХреЛрдгрддреЗрд╣реА рдирд┐рд░реНрдмрдВрдз рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реАрдд, рдкрд░рдВрддреБ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реАрдордзреАрд▓ рдорд░реНрдпрд╛рджрд╛ рдУрд▓рд╛рдВрдбрдгрд╛рд▒реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рд╕реБрд░реВ рдареЗрд╡рддреЗ; - рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд▓реЗ
рдорд░реНрдпрд╛рджрд╛_рдХреЙрди_ рдбреНрд░рд╛рдп_рд░рди , рдЬреЗ ngx_http_limit_conn_module рдореЙрдбреНрдпреВрд▓рд▓рд╛ рдЪрд╛рдЪрдгреА рд░рди рдореЛрдбрдордзреНрдпреЗ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдХрдиреЗрдХреНрд╢рдирдЪреА рд╕рдВрдЦреНрдпрд╛ рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реА рдЬрд╛рддреЗ; - рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд▓реЗ "
рдСрде_рдбрд┐рд▓реЗ ", рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╛рд╕рд╡рд░реНрдбрдЪреНрдпрд╛ рдЕрдВрджрд╛рдЬрд╛рдЪреА рддреАрд╡реНрд░рддрд╛ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 401 рдЪреНрдпрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдХреЛрдбрд╕рд╣ рдЕрдирдзрд┐рдХреГрдд рд╡рд┐рдирдВрддреНрдпрд╛рдВрдирд╛ рд╡рд┐рд▓рдВрдм рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.рд╣рд▓реНрд▓реЗ , рдЬреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ рдЕрд╢рд╛ рдкреНрд░рдгрд╛рд▓реАрдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдирд╛ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рд╡реЗрд│реЗрдЪреЗ рдореЛрдЬрдорд╛рдк (рдЯрд╛рдЗрдорд┐рдВрдЧ рд╣рд▓реНрд▓рд╛)рдкрд╛рд╕рд╡рд░реНрдб ,рд╕рдмрдХреНрд╡реЗрд░реАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд┐рдВрд╡рд╛рдЬреЗрдбрдмреНрд▓реНрдпреВрдЯреА (JSON рд╡реЗрдм рдЯреЛрдХрди); - "limit_rate" рдЖрдгрд┐ "limit_rate_after" рдирд┐рд░реНрджреЗрд╢рд╛рдВрдордзреНрдпреЗ, рддрд╕реЗрдЪ рд╕реНрдЯреНрд░реАрдо рдореЙрдбреНрдпреВрд▓рдЪреНрдпрд╛ "proxy_upload_rate" рдЖрдгрд┐ "proxy_download_rate" рдирд┐рд░реНрджреЗрд╢рд╛рдВрдордзреНрдпреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
- рдирд┐рд░реНрджреЗрд╢рд╛рдд
grpc_pass рдкрддреНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгрд╛рд▒реНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░рдордзреНрдпреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬреЛрдбрд▓реЗрд▓реЗ рд╕рдорд░реНрдерди. рдЬрд░ рдкрддреНрддрд╛ рдбреЛрдореЗрди рдирд╛рд╡ рдореНрд╣рдгреВрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЕрд╕реЗрд▓, рддрд░ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЧрдЯрд╛рдВрдордзреНрдпреЗ рдирд╛рд╡ рд╢реЛрдзрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐, рдЬрд░ рд╕рд╛рдкрдбрд▓реЗ рдирд╛рд╣реА, рддрд░ рд░рд┐рдЭреЛрд▓реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░реВрди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ; - рдирд╡реАрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЬреЛрдбрд▓реЗ
$proxy_protocol_server_addr ╨╕$proxy_protocol_server_port , рдЬреНрдпрд╛рдордзреНрдпреЗ PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рддреВрди рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдкрддреНрддрд╛ рдЖрдгрд┐ рдкреЛрд░реНрдЯ рдЖрд╣реЗ; - рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ
ngx_stream_limit_conn_module рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд▓реЗ$limit_conn_status , рдЬреЗ рдХрдиреЗрдХреНрд╢рдирдЪреА рд╕рдВрдЦреНрдпрд╛ рдорд░реНрдпрд╛рджрд┐рдд рдХреЗрд▓реНрдпрд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдо рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ: PASSED, REJECTED рдХрд┐рдВрд╡рд╛ REJECTED_DRY_RUN; - рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ
ngx_http_limit_req_module рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд▓реЗ$limit_req_status , рдЬреЗ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрдЧрдордирд╛рдЪрд╛ рджрд░ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдо рд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЗ: рдкрд╛рд╕, рд╡рд┐рд▓рдВрдмрд┐рдд, рдирд╛рдХрд╛рд░рд▓реЗрд▓реЗ, DELAYED_DRY_RUN рдХрд┐рдВрд╡рд╛ REJECTED_DRY_RUN; - рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдореЙрдбреНрдпреВрд▓ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ
ngx_http_postpone_filter_module ; - рдмрд┐рд▓реНрдЯ-рдЗрди рдкрд░реНрд▓ рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ $r->internal_redirect() рдкрджреНрдзрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди "рд▓реЛрдХреЗрд╢рди" рдмреНрд▓реЙрдХ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдЯреЙрдЧрд▓рд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдпрд╛ рдкрджреНрдзрддреАрдордзреНрдпреЗ рдЖрддрд╛ рд╕реБрдЯрд▓реЗрд▓реНрдпрд╛ рд╡рд░реНрдгрд╛рдВрд╕рд╣ URI рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ;
- "рдЕрдкрд╕реНрдЯреНрд░реАрдо" рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдмреНрд▓реЙрдХрдордзреНрдпреЗ "рдЕрдкрд╕реНрдЯреНрд░реАрдо" рдирд┐рд░реНрджреЗрд╢ рд╡рд╛рдкрд░рддрд╛рдирд╛
рд╣реЕрд╢ ┬╗ рдХреНрд▓рд╛рдпрдВрдЯ-рд╕рд░реНрд╡реНрд╣рд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧрд╕рд╣ рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рд░рд┐рдХреНрдд рдХреА рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛рд╕, рдПрдХрд╕рдорд╛рди рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ рдореЛрдб (рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди) рдЖрддрд╛ рд╕рдХреНрд░рд┐рдп рд╣реЛрдИрд▓; - рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдЬрд▓рдж рдХрдиреЗрдХреНрд╢рдирдордзреВрди рд╡рд╛рдЪрди рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реНрдпрд╛рд╕ ioctl(FIONREAD) рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
рд╕реНрддреНрд░реЛрдд: opennet.ru