HTTP/TCP рдмреИрд▓реЗрдВрд╕рд░ HAProxy 2.0 рдХрд╛ рд╡рд┐рдореЛрдЪрди

рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдкреНрд░реЛрдХреНрд╕реА 2.0, рдЬреЛ рдЖрдкрдХреЛ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдореВрд╣ рдХреЗ рдмреАрдЪ HTTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдФрд░ рдордирдорд╛рдиреЗ рдЯреАрд╕реАрдкреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд░реНрд╡рд░ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рд▓реЛрдб рд╕реНрддрд░ рдХрд╛ рдЖрдХрд▓рди рдХрд░рддрд╛ рд╣реИ, DDoS рдХрд╛рдЙрдВрдЯрд░рдореЗрдЬрд░реНрд╕ рд░рдЦрддрд╛ рд╣реИ) рдФрд░ рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ ( рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк HTTP рд╣реЗрдбрд░ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдЧрд▓рдд рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, SQL рдФрд░ XSS рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдВрдЯреЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред HAProxy рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓рд╛рдЧреВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреА рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рдирд╛ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб C рдФрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЖрдкреВрд░реНрддрд┐ GPLv2 рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрддред рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдмрдбрд╝реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter рдФрд░ Vimeo рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдореБрдЦреНрдп рд░рд┐рд▓реАрдЬрд╝ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:

  • рдирдИ рдПрдкреАрдЖрдИ рдкреЗрд╢ рдХреА рдЧрдИ рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛, рдЬреЛ рдЖрдкрдХреЛ REST рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреБрд░рдВрдд HAProxy рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЖрдк рдмреИрдХрдПрдВрдб рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝ рдФрд░ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрд╕реАрдПрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдиреБрд░реЛрдз рд░реВрдЯрд┐рдВрдЧ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИрдВрдбрд▓рд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдЖрдИрдкреА рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ;
  • nbthread рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреЛ рдЖрдкрдХреЛ рдорд▓реНрдЯреА-рдХреЛрд░ рд╕реАрдкреАрдпреВ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HAProxy рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд░реНрдХрд░ рдереНрд░реЗрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реАрдкреАрдпреВ рдХреЛрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдиреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХ рдереНрд░реЗрдб рд╣реЛрддрд╛ рд╣реИред рдХрдареЛрд░ рд╕реАрдорд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд╕реЗрдВрдмрд▓реА рд╡рд┐рдХрд▓реНрдк MAX_THREADS рдФрд░ MAX_PROCS рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ, рдЬреЛ рдереНрд░реЗрдб рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдКрдкрд░реА рд╕реАрдорд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ;
  • рд╣реИрдВрдбрд▓рд░ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрддреЗ рдкрд░ рдмрд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдб рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реЗрдЯрдЕрдк рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХрдиреЗрдХреНрд╢рди рд╕рдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
  • рдкреГрдердХ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓рдиреЗ рдкрд░ рд▓реЙрдЧ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рд░рд▓ рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд▓реЙрдЧ рдХреЛ рдЕрдм stdout рдФрд░ stderr, рд╕рд╛рде рд╣реА рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "log fd@1 local0") рдкрд░ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
  • HTX (рдиреЗрдЯрд┐рд╡ HTTP рд░рд┐рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИ, рдЬреЛ рдПрдВрдб-рдЯреВ-рдПрдВрдб HTTP/2, рд▓реЗрдпрд░ 7 рд░рд┐рдЯреНрд░реАрдЬрд╝ рдФрд░ gRPC рдЬреИрд╕реА рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдВрддреБрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред HTX рд╣реЗрдбрд░ рдХреЛ рдЬрдЧрд╣ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдирдпрд╛ рд╣реЗрдбрд░ рд╣рдЯрд╛рдиреЗ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрди рдСрдкрд░реЗрд╢рди рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХрд┐рд╕реА рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡реЗрд░рд┐рдПрдВрдЯ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╣реЗрдбрд░ рдХреЗ рдореВрд▓ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ HTTP/2 рдХреЛ HTTP/1.1 рдореЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╕рдордп рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП;
  • рдПрдВрдб-рдЯреВ-рдПрдВрдб HTTP/2 рдореЛрдб рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ (HTTP/2 рдореЗрдВ рд╕рднреА рдЪрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рдЬрд┐рд╕рдореЗрдВ рдмреИрдХрдПрдВрдб рдкрд░ рдХреЙрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд);
  • рдЬреАрдЖрд░рдкреАрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рджреНрд╡рд┐рджрд┐рд╢рд╛рддреНрдордХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдЬреАрдЖрд░рдкреАрд╕реА рд╕реНрдЯреНрд░реАрдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ, рд▓реЙрдЧ рдореЗрдВ рдЬреАрдЖрд░рдкреАрд╕реА рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдФрд░ рдПрд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬреАрдЖрд░рдкреАрд╕реА рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рдЬреАрдЖрд░рдкреАрд╕реА рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд░ HTTP/2 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреНрд░рдордмрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
  • "рд▓реЗрдпрд░ 7 рд░рд┐рдЯреНрд░реАрдЬрд╝" рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреЛ рдЖрдкрдХреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдХреЛрдИ рдЦрд╛рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ) рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз). рдореЛрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдЕрдХреНрд╖рдо-l7-рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕" рдзреНрд╡рдЬ рдХреЛ "http-рдЕрдиреБрд░реЛрдз" рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рд╢реНрд░рд╡рдг рдФрд░ рдмреИрдХрдПрдВрдб рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдлрд╝рд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП "рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕-рдСрди" рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдкреБрдирдГ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдХреЗрдд рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: рд╕рднреА-рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдпреЛрдЧреНрдп-рддреНрд░реБрдЯрд┐рдпрд╛рдБ, рдХреЛрдИ рдирд╣реАрдВ, рдХреЙрди-рд╡рд┐рдлрд▓рддрд╛, рдЦрд╛рд▓реА-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдЬрдВрдХ-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╕рдордпрдмрд╛рд╣реНрдп, 0rtt-рдЕрд╕реНрд╡реАрдХреГрдд, рд╕рд╛рде рд╣реА рд╡рд╛рдкрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЛрдб (404, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реАред ;
  • рдПрдХ рдирдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ HAProxy рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
    рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдкреНрд▓рд╛рди рдПрдкреАрдЖрдИ (/usr/sbin/dataplaneapi), рд╕рд╛рде рд╣реА рд╡рд┐рднрд┐рдиреНрди рдСрдлрд▓реЛрдб рд╕реНрдЯреНрд░реАрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЗрдВрдЬрди, рдРрд╕реЗ рдмрд╛рд╣рд░реА рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ;

  • SPOE (рд╕реНрдЯреНрд░реАрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдСрдлрд▓реЛрдб рдЗрдВрдЬрди) рдФрд░ SPOP (рд╕реНрдЯреНрд░реАрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдСрдлрд▓реЛрдб рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░, рдЧреЛ, рд▓реБрдЖ рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВред рдкрд╣рд▓реЗ, рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдХрд╛рд╕ рдХреЗрд╡рд▓ C рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдерд╛;
  • рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдорд┐рд░рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд╣рд░реА рд╕реНрдкреВрдЖ-рдорд┐рд░рд░ рд╣реИрдВрдбрд▓рд░ (/usr/sbin/spoa-mirror) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЛрдб рдХреЗ рддрд╣рдд рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП);
  • рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд HAProxy Kubernetes рдЗрдирдЧреНрд░реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП;
  • рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЖрдБрдХрдбрд╝реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдкреНрд░реЛрдорд┐рдереЗрдЙрд╕;
  • рдкреАрдпрд░реНрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ HAProxy рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрд┐рд╕рдореЗрдВ рд╣рд╛рд░реНрдЯрдмреАрдЯ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИ;
  • "рдирдореВрдирд╛" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ "рд▓реЙрдЧ" рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдирдореВрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рдореЗрдВ рд╕реЗ 10;
  • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓рд┐рдВрдЧ рдореЛрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ (рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓рд┐рдВрдЧ.рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢, рдЬреЛ рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд, рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред рдпрджрд┐ рдФрд╕рдд рд╡рд┐рд▓рдВрдмрддрд╛ 1000 рдПрдордПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реИред рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдбреЗрдЯрд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, "рд╢реЛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ" рдХрдорд╛рдВрдб рдХреЛ рд░рдирдЯрд╛рдЗрдо рдПрдкреАрдЖрдИ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рд▓реЙрдЧ рдореЗрдВ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ;
  • SOCKS4 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдХрдПрдВрдб рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
  • рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди (рдЯреАрдПрдлрдУ - рдЯреАрд╕реАрдкреА рдлрд╛рд╕реНрдЯ рдУрдкрди, рдЖрд░рдПрдлрд╕реА 7413) рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдВрдб-рдЯреВ-рдПрдВрдб рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рдФрд░ рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреНрд▓рд╛рд╕рд┐рдХ 3-рдЪрд░рдг рдХрдиреЗрдХреНрд╢рди рдмрд╛рддрдЪреАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ;
  • рдирдИ рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпрд╛рдВ рдЬреЛрдбрд╝реА рдЧрдИрдВ:
    • рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП "http-request рд░рд┐рдкреНрд▓реЗрд╕-рдпреВрд░реА";
    • рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЯреАрд╕реАрдкреА-рдЕрдиреБрд░реЛрдз рд╕рд╛рдордЧреНрд░реА рдбреВ-рд░рд┐рдЬрд╝реЙрд▓реНрд╡" рдФрд░ "http-рдЕрдиреБрд░реЛрдз рдбреВ-рд░рд┐рдЬрд╝реЙрд▓реНрд╡";
    • рд▓рдХреНрд╖реНрдп рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЯреАрд╕реАрдкреА-рдЕрдиреБрд░реЛрдз рд╕рд╛рдордЧреНрд░реА рд╕реЗрдЯ-рдбреАрдПрд╕рдЯреА" рдФрд░ "рдЯреАрд╕реАрдкреА-рдЕрдиреБрд░реЛрдз рд╕рд╛рдордЧреНрд░реА рд╕реЗрдЯ-рдбреАрдПрд╕рдЯреА-рдкреЛрд░реНрдЯ"ред
  • рдирдП рд░реВрдкрд╛рдВрддрд░рдг рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗ рдЧрдП:
    • AES128-GCM, AES192-GCM рдФрд░ AES256-GCM рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП aes_gcm_dev;
    • рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдлрд╝рд░реНрд╕ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдлрд╝реАрд▓реНрдб рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдмрдлрд╝;
    • рдЬреАрдЖрд░рдкреАрд╕реА рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдлрд╝реАрд▓реНрдб рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдПрдирдЬреАрдЖрд░рдкреАрд╕реАред

    рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ