[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 เชเชธเชเชธเชเชฒ httpxNUMX 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

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹