[Nginx] เชฐเชฟเชธเซเชชเซ‹เชจเซเชธ_เชธเซเชŸเซ‡เชŸเชธ = 0 เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเชฐเชพเชตเซ€ เชถเช•เชพเชฏ

"เชนเชพเช‚เชธเชฟเชฏเชพเชฎเชพเช‚ เชจเซ‹เช‚เชงเซ‹" เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚เชฅเซ€ เชเช• เชฒเซ‡เช–.

TL: DR:

http2_max_field_size 8k; # ะฒัะตั… ัะฟะฐัะตั‚!

เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ, เช•เซ‡เชŸเชฒเชพเช• เช†เช‚เชคเชฐเชฟเช• เชฌเซ‡เช•เชเชจเซเชก เชฒเซ‹เชœเชฟเช• เชฌเชฆเชฒเซเชฏเชพ เชชเช›เซ€, เชฎเชจเซ‡ เชฒเซ‹เช—เชฎเชพเช‚ เชเช• เชตเชฟเชšเชฟเชคเซเชฐ response_code เชฆเซ‡เช–เชพเชตเชพ เชฒเชพเช—เซเชฏเซ‹ - เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, 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 เชชเชฐ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช‡เชจเช•เชพเชฐ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เช…เชฆเซเชญเซเชค เชชเชฐเชฟเชฃเชพเชฎ เช†เชชเซ‡ เช›เซ‡: เชนเซ‹เชธเซเชŸ example.com เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชถเชจ #0 เช…เช•เชฌเช‚เชง เชฐเชนเซ‡ เช›เซ‡.
เช•เชฐเซเชฒ: (52) เชธเชฐเซเชตเชฐ เชคเชฐเชซเชฅเซ€ เช–เชพเชฒเซ€ เชœเชตเชพเชฌ

เชนเซเช‚ เชซเช•เซเชค IP เชฆเซเชตเชพเชฐเชพ เชฒเซ‹เช—เชฎเชพเช‚ เช† เชตเชธเซเชคเซเชจเซ‡ เชŸเซเชฐเซ‡เช• เช•เชฐเซ€ เชถเช•เซเชฏเซ‹ - เช•เซ‹เชˆ เชตเชฟเชจเช‚เชคเซ€ เช•เซ‡ เช…เชจเซเชฏ เช•เซ‹เชˆ เชกเซ‡เชŸเชพ เชจเชนเซ€เช‚, เชœเซ‡เชฎ เชคเชฎเซ‡ เช‰เชชเชฐเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚เชฅเซ€ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹. เชซเช•เซเชค เช•เซเช–เซเชฏเชพเชค เชธเซเชฅเชฟเชคเชฟ 0, เชชเชฃ เชฎเชจเซ‡ เช–เชฌเชฐ เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เชตเชฟเชจเช‚เชคเซ€ เชฐเชฆ เช•เชฐเซ€ เชจเชฅเซ€! เชฎเซ‡เช‚ เชถเซเช‚ เช–เซ‹เชŸเซเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชถเซ‹เชงเช–เซ‹เชณ เชถเชฐเซ‚ เช•เชฐเซ€. เชคเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚:

เชธเชพเช‚เชญเชณเซ‹ 443 เชเชธเชเชธเชเชฒ httpxNUMX เชฌเซ‡เช•เชฒเซ‹เช—=8192;

เชธเชพเชฐเซเช‚, เชœเซ‹ เชคเชฎเซ‡ SSL เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡ http2 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชซเช•เซเชค เชตเชฟเชจเช‚เชคเซ€ เชฌเชซเชฐเซเชธเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชชเซ‚เชฐเชคเซเช‚ เชจเชฅเซ€; เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชฎเชจเซ‡ ngx_http_v2_module เชฎเชพเช‚ เชชเชฃ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡:

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

HPACK เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเช‚เช•เซเชšเชฟเชค เชตเชฟเชจเช‚เชคเซ€ เชนเซ‡เชกเชฐเชจเชพ เชฎเชนเชคเซเชคเชฎ เช•เชฆเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เช† เชฎเชฐเซเชฏเชพเชฆเชพ เชจเชพเชฎ เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏ เชฌเช‚เชจเซ‡ เชชเชฐ เชธเชฎเชพเชจ เชฐเซ€เชคเซ‡ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡. เชœเซ‹ เชนเชซเชฎเซ‡เชจ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‹ เชกเชฟเช•เชฎเซเชชเซเชฐเซ‡เชธเซเชก เชจเชพเชฎ เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏ เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธเชจเซเช‚ เชตเชพเชธเซเชคเชตเชฟเช• เช•เชฆ เชฎเซ‹เชŸเซเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชกเชฟเชซเซ‹เชฒเซเชŸ เชฎเชฐเซเชฏเชพเชฆเชพ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡.

เชคเซ‹, เชฌเชธ. เชชเชฃ เช•เซ‡เชฎ? เช•เชพเชฐเชฃ เช•เซ‡ เชฒเชฟเช‚เช•เชจเซ€ เชฒเช‚เชฌเชพเชˆ เชฒเชพเช‚เชฌเซ€ เชนเชคเซ€ - เชคเซ‡ 4k เช•เชฐเชคเชพเช‚ เชชเชฃ เชฒเชพเช‚เชฌเซ€.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, 8kb (เช…เชฅเชตเชพ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซเช‚) เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡, เช†เชชเชฃเซ‡ เชธเชฎเชธเซเชฏเชพ เชนเชฒ เช•เชฐเซ€เช เช›เซ€เช.
เชเชตเซเช‚ เชœ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

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