[Nginx] เบงเบดเบ—เบตเบเบฒเบ™เบ—เปเบฒเบฅเบฒเบ response_status = 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, ะฒั‹ะดะฐะฒะฐั ั‡ัƒะดะตัะฝะพะต: Connection #0 to host example.com left intact
curl: (52) Empty reply from server

ะ’ ะปะพะณะฐั… ะพั‚ัะปะตะดะธั‚ัŒ ัั‚ัƒ ัˆั‚ัƒะบัƒ ัƒะดะฐะปะพััŒ ั‚ะพะปัŒะบะพ ะฟะพ IP โ€” ะฝะธ ั€ะตะบะฒะตัั‚ะฐ, ะฝะธ ะบะฐะบะธั…-ะปะธะฑะพ ะดั€ัƒะณะธั… ะดะฐะฝะฝั‹ั…, ะบะฐะบ ะฒะธะดะฝะพ ะธะท ะฟั€ะธะผะตั€ะฐ ะฒั‹ัˆะต โ€” ะฝะตั‚. ะขะพะปัŒะบะพ ะฟั€ะตัะปะพะฒัƒั‚ั‹ะน ัั‚ะฐั‚ัƒั 0, ะฝะพ ั-ั‚ะพ ะทะฝะฐัŽ, ั‡ั‚ะพ ะทะฐะฟั€ะพั ั ะฝะต ะฟั€ะตั€ั‹ะฒะฐะป! ะะฐั‡ะฐะป ะบะพะฒั‹ั€ัั‚ัŒ, ั‡ั‚ะพ ะถะต ะผะพะถะตั‚ ะฟะพะนั‚ะธ ะฝะต ั‚ะฐะบ. ะ ะฒัะต ะพะบะฐะทะฐะปะพััŒ ะพั‡ะตะฝัŒ ะฟั€ะพัั‚ะพ:

เบŸเบฑเบ‡ 443 ssl เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก 2 backlog=8192;

ะัƒ ั‚ะฐะบ ะฒะพั‚ โ€” ะตัะปะธ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ http2 ะดะปั ssl-ัะพะตะดะธะฝะตะฝะธะน, ั‚ะพ ะฝะตะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะฟั€ะพัั‚ะพ ะบะพะฝั„ะธะณัƒั€ัั‚ัŒ ะฑัƒั„ะตั€ั‹ ะทะฐะฟั€ะพัะฐ, ะบะพะฝั„ะธะณัƒั€ัั‚ัŒ ะธั… ะฝะฐะดะพ ะธ ะฒ ngx_http_v2_module, ะฐ ะธะผะตะฝะฝะพ:

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

ะžะณั€ะฐะฝะธั‡ะธะฒะฐะตั‚ ะผะฐะบัะธะผะฐะปัŒะฝั‹ะน ั€ะฐะทะผะตั€ ะทะฐะณะพะปะพะฒะบะฐ ะทะฐะฟั€ะพัะฐ, ัะถะฐั‚ะพะณะพ ะฟั€ะธ ะฟะพะผะพั‰ะธ HPACK. ะžะณั€ะฐะฝะธั‡ะตะฝะธะต ะฟั€ะธะผะตะฝัะตั‚ัั ะฒ ั€ะฐะฒะฝะพะน ัั‚ะตะฟะตะฝะธ ะบะฐะบ ะบ ะธะผะตะฝะธ, ั‚ะฐะบ ะธ ะบ ะทะฝะฐั‡ะตะฝะธัŽ. ะ•ัะปะธ ะฟั€ะธะผะตะฝัะตั‚ัั ะบะพะดะธั€ะพะฒะฐะฝะธะต ะฅะฐั„ั„ะผะฐะฝะฐ, ั‚ะพ ั„ะฐะบั‚ะธั‡ะตัะบะธะน ั€ะฐะทะผะตั€ ั€ะฐัะฟะฐะบะพะฒะฐะฝะฝั‹ั… ัั‚ั€ะพะบ ะธะผะตะฝะธ ะธ ะทะฝะฐั‡ะตะฝะธั ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฑะพะปัŒัˆะต. ะžะณั€ะฐะฝะธั‡ะตะฝะธะต ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะฟะพะดั…ะพะดะธั‚ ะดะปั ะฑะพะปัŒัˆะธะฝัั‚ะฒะฐ ะทะฐะฟั€ะพัะพะฒ.

ะ’ ะพะฑั‰ะตะผ, ัั‚ะพ ะพะฝะพ. ะ ะฒัะต ะฟะพั‡ะตะผัƒ? ะŸะพั‚ะพะผัƒ ั‡ั‚ะพ ะดะปะธะฝะฐ ััั‹ะปะบะธ ะฑั‹ะปะฐ ะฑะพะปัŒัˆะพะน โ€” ะฑะพะปัŒัˆะต, ั‡ะตะผ ั‚ะต ัะฐะผั‹ะต 4k.

ะ’ั‹ัั‚ะฐะฒะธะฒ ะตะณะพ ะฒ, ะฝะฐะฟั€ะธะผะตั€, 8kb (ะธะปะธ ัั‚ะพะปัŒะบะพ, ัะบะพะปัŒะบะพ ะฝะฐะฒะตั€ะฝัะบะฐ ั…ะฒะฐั‚ะธั‚) โ€” ั€ะตัˆะฐะตะผ ะฟั€ะพะฑะปะตะผัƒ.
เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เป„เบ›.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™