[Nginx] āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āϰ⧇āϏāĻĒāĻ¨ā§āϏ_āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ = 0 āĻšāĻžāϰāĻžāϤ⧇ āĻšāϝāĻŧ

‘āĻĒāĻžāĻ°ā§āĻļā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻŸā§€āĻ•āĻžâ€™ āĻļā§āϰ⧇āĻŖā§€āϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻŦāĻ¨ā§āϧāĨ¤

āϟāĻŋ āĻāϞ: āĻĄāĻŋāφāϰ:

http2_max_field_size 8k; # Đ˛ŅĐĩŅ… ҁĐŋĐ°ŅĐĩŅ‚!

āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡, āĻ•āĻŋāϛ⧁ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āϞāϜāĻŋāĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻžāϰ āĻĒāϰ, āφāĻŽāĻŋ āϞāĻ—āϗ⧁āϞāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āĻ…āĻĻā§āϭ⧁āϤ response_code āĻĻ⧇āĻ–āϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰāĻŋ—āĻŦāĻŋāĻļ⧇āώāϤ, ā§ĻāĨ¤ āϞāĻ—āϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻ…āύ⧇āĻ•āϟāĻž āĻāχāϰāĻ•āĻŽ āĻ›āĻŋāϞ:

{
  "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-āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āϚāĻžāϝāĻŧ āύāĻž āĻāĻŦāĻ‚ āĻāχ āϚāĻŽā§ŽāĻ•āĻžāϰ āĻŦāĻžāĻ°ā§āϤāĻžāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧ: Connection #0 to host example.com left intact
curl: (52) āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ āĻ–āĻžāϞāĻŋ āωāĻ¤ā§āϤāϰ

āφāĻŽāĻŋ āϞāĻ— āĻĨ⧇āϕ⧇ āĻļ⧁āϧ⧁ āφāχāĻĒāĻŋ āĻĻāĻŋāϝāĻŧ⧇āχ āϜāĻŋāύāĻŋāϏāϟāĻž āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻĒ⧇āϰ⧇āĻ›āĻŋāϞāĻžāĻŽâ€”āϕ⧋āύ⧋ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻŦāĻž āĻ…āĻ¨ā§āϝ āϕ⧋āύ⧋ āĻĄā§‡āϟāĻž āĻ›āĻŋāϞ āύāĻž, āϝ⧇āĻŽāύāϟāĻž āφāĻĒāύāĻŋ āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻšā§āϛ⧇āύāĨ¤ āĻļ⧁āϧ⧁ āϏ⧇āχ āϕ⧁āĻ–ā§āϝāĻžāϤ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ ā§Ļ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻŽāĻŋ āϜāĻžāύāĻŋ āφāĻŽāĻŋ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟāϟāĻž āĻ…ā§āϝāĻžāĻŦā§‹āĻ°ā§āϟ āĻ•āϰāĻŋāύāĻŋ! āϕ⧀ āϭ⧁āϞ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻž āĻĻ⧇āĻ–āϤ⧇ āφāĻŽāĻŋ āϘāĻžāρāϟāĻžāϘāĻžāρāϟāĻŋ āĻļ⧁āϰ⧁ āĻ•āϰāϞāĻžāĻŽāĨ¤ āĻĻ⧇āĻ–āĻž āϗ⧇āϞ āĻŦā§āϝāĻžāĻĒāĻžāϰāϟāĻž āϖ⧁āĻŦāχ āϏāĻšāϜ:

āĻļ⧁āύ⧁āύ ā§Ēā§Ēā§Š SSL http2 āĻŦāϕ⧇āϝāĻŧāĻž=ā§Žā§§ā§¯ā§¨;

āφāĻšā§āĻ›āĻž, āφāĻĒāύāĻŋ āϝāĻĻāĻŋ SSL āĻ•āĻžāύ⧇āĻ•āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ http2 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻļ⧁āϧ⧁ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻŦāĻžāĻĢāĻžāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻžāχ āϝāĻĨ⧇āĻˇā§āϟ āύāϝāĻŧ; āφāĻĒāύāĻžāϕ⧇ ngx_http_v2_module-āĻāĻ“ āϏ⧇āϗ⧁āϞ⧋ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϝāĻĨāĻž:

ХиĐŊŅ‚Đ°ĐēŅĐ¸Ņ:	http2_max_field_size Ņ€Đ°ĐˇĐŧĐĩŅ€;
ĐŖĐŧĐžĐģŅ‡Đ°ĐŊиĐĩ:	http2_max_field_size 4k;
КоĐŊŅ‚ĐĩĐēҁ҂:	http, server

HPACK āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻŽā§āĻĒā§āϰ⧇āϏ āĻ•āϰāĻž āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻšā§‡āĻĄāĻžāϰ⧇āϰ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āφāĻ•āĻžāϰ āϏ⧀āĻŽāĻŋāϤ āĻ•āϰ⧇āĨ¤ āĻāχ āϏ⧀āĻŽāĻžāϟāĻŋ āύāĻžāĻŽ āĻāĻŦāĻ‚ āĻ­ā§āϝāĻžāϞ⧁ āωāĻ­āϝāĻŧ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ āϏāĻŽāĻžāύāĻ­āĻžāĻŦ⧇ āĻĒā§āϰāϝ⧋āĻœā§āϝāĨ¤ āϝāĻĻāĻŋ āĻšāĻžāĻĢāĻŽā§āϝāĻžāύ āĻāύāϕ⧋āĻĄāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āĻĄāĻŋāĻ•āĻŽā§āĻĒā§āϰ⧇āϏ āĻ•āϰāĻž āύāĻžāĻŽ āĻāĻŦāĻ‚ āĻ­ā§āϝāĻžāϞ⧁ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āϗ⧁āϞ⧋āϰ āĻĒā§āϰāĻ•ā§ƒāϤ āφāĻ•āĻžāϰ āφāϰāĻ“ āĻŦāĻĄāĻŧ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϏ⧀āĻŽāĻžāϟāĻŋ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧁āĻ•ā§āϤāĨ¤

āϤ⧋, āĻāχ āĻšāϞ⧋ āĻŦā§āϝāĻžāĻĒāĻžāϰāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϕ⧇āύ? āĻ•āĻžāϰāĻŖ āϞāĻŋāĻ™ā§āϕ⧇āϰ āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ āĻŦ⧇āĻļāĻŋ āĻ›āĻŋāĻ˛â€”āĻ“āχ ā§Ēāϕ⧇-āĻāϰ āĻšā§‡āϝāĻŧ⧇āĻ“ āĻŦ⧇āĻļāĻŋāĨ¤

āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāϟāĻŋāϕ⧇ ā§Ž āĻ•āĻŋāϞ⧋āĻŦāĻžāχāĻŸā§‡ (āĻŦāĻž āϝāϤāϟāĻž āϏāĻŽā§āĻ­āĻŦāϤ āϝāĻĨ⧇āĻˇā§āϟ) āϏ⧇āϟ āĻ•āϰāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āφāĻŽāϰāĻž āϏāĻŽāĻ¸ā§āϝāĻžāϟāĻŋāϰ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻŋāĨ¤
āĻŦāĻŋāώāϝāĻŧāϟāĻž āĻāĻŽāύāχāĨ¤

āωāĻ¤ā§āϏ: www.habr.com

āĻāĻ•āϟāĻŋ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āϜ⧁āĻĄāĻŧ⧁āύ