[Nginx] рдкреНрд░рддрд┐рд╕рд╛рдж_рд╕реНрдерд┐рддреА = 0 рдХрд╕реЗ рдкрд░рд╛рднреВрдд рдХрд░рд╛рд╡реЗ

"рд╕рд╛рдЗрдбрдиреЛрдЯреНрд╕" рд╢реНрд░реЗрдгреАрддреАрд▓ рдПрдХ рд▓реЗрдЦ.

TL: DR:

http2_max_field_size 8k; # ╨▓╤Б╨╡╤Е ╤Б╨┐╨░╤Б╨╡╤В!

рдПрдХрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░, рдмреЕрдХрдПрдВрдбрдЪреЗ рдХрд╛рд╣реА рдЕрдВрддрд░реНрдЧрдд рддрд░реНрдХ рдмрджрд▓рд▓реНрдпрд╛рдирдВрддрд░, рдореА рд▓реЙрдЧрдордзреНрдпреЗ рдПрдХ рд╡рд┐рдЪрд┐рддреНрд░ рдкреНрд░рддрд┐рд╕рд╛рдж_рдХреЛрдб рдкрд╛рд╣рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА, рдореНрд╣рдгрдЬреЗ 0. рд▓реЙрдЧрдордзреНрдпреЗ рддреЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рддреЗ:

{
  "timestamp": "2020-01-17T08:41:51+00:00",
  "remote_addr": "zzz.zzz.zzz.zzz",
  "request_time": 0,
  "upstream_response_time": "",
  "upstream_header_time": "",
  "http_accept_language": "-language",
  "response_status": 0,
  "request": "",
  "host": "example.com",
  "upstream_addr": "",
  "http_referrer": "",
  "request_length": 5854,
  "bytes_sent": 0,
  "http_user_agent": ""
}


рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рджрд╕реНрддрдРрд╡рдЬ рд╡рд╛рдЪрдгреЗ рдЖрдгрд┐ рдЧреБрдЧрд▓рд┐рдВрдЧ рдХреЗрд▓реНрдпрд╛рдиреЗ рдХрд╛рд╣реАрд╣реА рдорд┐рд│рд╛рд▓реЗ рдирд╛рд╣реА - рдХрд╛рд░рдг... рдЕрд╕реЗ рдирдореВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ рдХреА рдЬреЗрд╡реНрд╣рд╛ рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рд╣реЗрдбрд░ рдкрд╛рд╕ рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХреЗрд▓реЗ рддреЗрд╡реНрд╣рд╛ рд╣реЗ рд╡рд░реНрддрди рд╣реЛрддреЗ. рдмрд░рдВ, рдЖрдгрд┐ wsgi_ рд╕рд╛рдареА рдмрдлрд░ рдЖрдХрд╛рд░рд╛рд╕рд╣ рд╡рд┐рд╡рд┐рдз рд╡рд┐рджреЗрд╢реА рдЧреЛрд╖реНрдЯреА, рдЬреНрдпрд╛ рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд "рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ" рд╢рдмреНрджрд╛рдд рдмрд╕рдд рдирд╛рд╣реАрдд.

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдЖрдореНрд╣реА рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА, рдЖрдордЪреНрдпрд╛ рдЦрдВрдбрд╛рдВрдордзреНрдпреЗ рддреА рдЕрдЬрд┐рдмрд╛рдд рдЧрдВрднреАрд░ рдирд╛рд╣реА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрди.

рддрдВрддреЛрддрдВрдд, рдЬреЛрдкрд░реНрдпрдВрдд рдореА рдЦрд╛рд▓реАрд▓ рд╕рдорд╕реНрдпреЗрдиреЗ рд╣реИрд░рд╛рдг рдЭрд╛рд▓реЛ рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд: рдХрд╛рд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рд▓рд┐рдВрдХреНрд╕ http рджреНрд╡рд╛рд░реЗ рд╕рдорд╕реНрдпрд╛рдВрд╢рд┐рд╡рд╛рдп рдЙрдШрдбрддрд╛рдд, рдкрд░рдВрддреБ https рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдкреВрд░реНрдгрдкрдгреЗ рдирдХрд╛рд░ рджреЗрддрд╛рдд, рдЕрджреНрднреБрдд рдирд┐рд░реНрдорд┐рддреА рдХрд░рддрд╛рдд: рдЙрджрд╛рд╣рд░рдг.com рд╣реЛрд╕реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрдиреЗрдХреНрд╢рди #0 рдЕрдмрд╛рдзрд┐рдд рдЖрд╣реЗ
рдХрд░реНрд▓: (52) рд╕рд░реНрд╡реНрд╣рд░рдХрдбреВрди рд░рд┐рдХреНрдд рдЙрддреНрддрд░

рд▓реЙрдЧрдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╣реА рдЧреЛрд╖реНрдЯ рдХреЗрд╡рд│ IP рджреНрд╡рд╛рд░реЗ рдЯреНрд░реЕрдХ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрддреЛ - рдХреЛрдгрддреАрд╣реА рд╡рд┐рдирдВрддреА рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХреЛрдгрддрд╛рд╣реА рдбреЗрдЯрд╛ рдирд╡реНрд╣рддрд╛, рдЬрд╕реЗ рдХреА рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░реВрди рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдХреЗрд╡рд│ рдмрджрдирд╛рдо рд╕реНрдерд┐рддреА 0 рдЖрд╣реЗ, рдкрд░рдВрддреБ рдорд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рдореА рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдЖрдгрд▓рд╛ рдирд╛рд╣реА! рдореА рдХрд╛рдп рдЪреВрдХ рд╣реЛрдК рд╢рдХрддреЗ рд╣реЗ рд╢реЛрдзреВ рд▓рд╛рдЧрд▓реЛ. рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЕрдЧрджреА рд╕реЛрдкреЗ рдЭрд╛рд▓реЗ:

рдРрдХрд╛ 443 рдПрд╕рдПрд╕рдПрд▓ httpxNUMX backlog=8192;

рдареАрдХ рдЖрд╣реЗ, рдЬрд░ рддреБрдореНрд╣реА ssl рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА http2 рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рдлрдХреНрдд рд╡рд┐рдирдВрддреА рдмрдлрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдирд╛рд╣реА, рддреЗ ngx_http_v2_module рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд, рдореНрд╣рдгрдЬреЗ:

╨б╨╕╨╜╤В╨░╨║╤Б╨╕╤Б:	http2_max_field_size ╤А╨░╨╖╨╝╨╡╤А;
╨г╨╝╨╛╨╗╤З╨░╨╜╨╕╨╡:	http2_max_field_size 4k;
╨Ъ╨╛╨╜╤В╨╡╨║╤Б╤В:	http, server

HPACK рд╡рд╛рдкрд░реВрди рд╕рдВрдХреБрдЪрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреА рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдЪрд╛ рдХрдорд╛рд▓ рдЖрдХрд╛рд░ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рддреЗ. рдорд░реНрдпрд╛рджрд╛ рдирд╛рд╡ рдЖрдгрд┐ рдореВрд▓реНрдп рдпрд╛ рджреЛрдШрд╛рдВрдирд╛рд╣реА рд╕рд╛рд░рдЦреАрдЪ рд▓рд╛рдЧреВ рд╣реЛрддреЗ. Huffman рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╡рд╛рдкрд░рд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЕрдирдкреЕрдХ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╡ рдЖрдгрд┐ рдореВрд▓реНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧрдЪрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдХрд╛рд░ рдореЛрдард╛ рдЕрд╕реВ рд╢рдХрддреЛ. рдбреАрдлреЙрд▓реНрдЯ рдорд░реНрдпрд╛рджрд╛ рдмрд╣реБрддреЗрдХ рдХреНрд╡реЗрд░реАрдВрд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ.

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╣реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд╛? рдХрд╛рд░рдг рд▓рд┐рдВрдХрдЪреА рд▓рд╛рдВрдмреА рд▓рд╛рдВрдм рд╣реЛрддреА - рддреНрдпрд╛рдЪ 4k рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд.

рддреЗ рд╕реЗрдЯ рдХрд░реВрди, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 8kb (рдХрд┐рдВрд╡рд╛ рдкреБрд░реЗрд╕реЗ рдЕрд╕рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ), рдЖрдореНрд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддреЛ.
рд╣реЗ рдЕрд╕реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛