[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 เจฌเจฐเจ•เจฐเจพเจฐ เจนเฉˆ
curl: (52) เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจ–เจพเจฒเฉ€ เจœเจตเจพเจฌ

เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซ IP เจฆเฉเจ†เจฐเจพ เจŸเจฐเฉˆเจ• เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€ - เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ เจฌเฉ‡เจจเจคเฉ€ เจœเจพเจ‚ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจกเฉ‡เจŸเจพ เจจเจนเฉ€เจ‚ เจธเฉ€, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจฃ เจคเฉ‹เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจธเจฟเจฐเจซ เจฌเจฆเจจเจพเจฎ เจธเจฅเจฟเจคเฉ€ 0 เจนเฉˆ, เจชเจฐ เจฎเฉˆเจ‚ เจœเจพเจฃเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจตเจฟเจ˜เจจ เจจเจนเฉ€เจ‚ เจชเจพเจ‡เจ†! เจฎเฉˆเจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจ•เจฟ เจ•เฉ€ เจ—เจฒเจค เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ. เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจฌเจนเฉเจค เจธเจพเจฆเจพ เจจเจฟเจ•เจฒเจฟเจ†:

เจธเฉเจฃเฉ‹ 443 เจเจธเจเจธเจเจฒ http2 backlog=8192;

เจ–เฉˆเจฐ, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ ssl เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ http2 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจธเจฟเจฐเจซ เจฌเฉ‡เจจเจคเฉ€ เจฌเจซเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ ngx_http_v2_module เจตเจฟเฉฑเจš เจตเฉ€ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจฐเจฅเจพเจค:

ะกะธะฝั‚ะฐะบัะธั:	http2_max_field_size ั€ะฐะทะผะตั€;
ะฃะผะพะปั‡ะฐะฝะธะต:	http2_max_field_size 4k;
ะšะพะฝั‚ะตะบัั‚:	http, server

HPACK เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจ•เฉเจšเจฟเจค เจฌเฉ‡เจจเจคเฉ€ เจธเจฟเจฐเจฒเฉ‡เจ– เจฆเฉ‡ เจ…เจงเจฟเจ•เจคเจฎ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจธเฉ€เจฎเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจพเจฌเฉฐเจฆเฉ€ เจจเจพเจฎ เจ…เจคเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ‹เจตเจพเจ‚ 'เจคเฉ‡ เจฌเจฐเจพเจฌเจฐ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจนเจซเจฎเฉˆเจจ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ…เจจเจชเฉˆเจ• เจ•เฉ€เจคเฉ‡ เจจเจพเจฎ เจ…เจคเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ€เจ†เจ‚ เจธเจคเจฐเจพเจ‚ เจฆเจพ เจ…เจธเจฒ เจ†เจ•เจพเจฐ เจตเฉฑเจกเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจธเฉ€เจฎเจพ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจฒเจˆ เจขเฉเจ•เจตเฉ€เจ‚ เจนเฉˆเฅค

เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจนเฉˆ. เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจ•เจฟเจ‰เจ‚? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฒเจฟเฉฐเจ• เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจฒเฉฐเจฎเฉ€ เจธเฉ€ - เจ‰เจนเฉ€ 4k เจคเฉ‹เจ‚ เจฒเฉฐเจฎเฉ€.

เจ‡เจธ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจ•เฉ‡, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, 8kb (เจœเจพเจ‚ เจœเจฟเฉฐเจจเจพ เจœเจผเจฟเจ†เจฆเจพ เจนเฉ‹เจฃ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ), เจ…เจธเฉ€เจ‚ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค
เจ‡เจธ เจฒเจˆ เจ‡เจธ เจจเฉ‚เฉฐ เจšเจฒเจพ.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹