[Nginx] ื›ื™ืฆื“ ืœื”ื‘ื™ืก ืืช response_status = 0

ืžืืžืจ ืžืงื˜ื’ื•ืจื™ื™ืช "ืกื™ื“ื ื•ื˜ื™ื".

TL: DR:

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

ื‘ืื—ื“ ื”ืคืจื•ื™ืงื˜ื™ื, ืœืื—ืจ ืฉื™ื ื•ื™ ืœื•ื’ื™ืงื” ืคื ื™ืžื™ืช ืฉืœ ื”-backend, ื”ืชื—ืœืชื™ ืœื”ื‘ื—ื™ืŸ ื‘-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, ื•ืžื™ื™ืฆืจื™ื ืืช ื”ื ืคืœื: ื—ื™ื‘ื•ืจ #0 ืœืžืืจื— example.com ื ื•ืชืจ ืœืœื ืคื’ืข
curl: (52) ืชืฉื•ื‘ื” ืจื™ืงื” ืžื”ืฉืจืช

ื‘ื™ื•ืžื ื™ื ื”ืฆืœื—ื ื• ืœืขืงื•ื‘ ืื—ืจ ื”ื“ื‘ืจ ื”ื–ื” ืจืง ืœืคื™ IP - ืœื ื”ื™ื™ืชื” ื‘ืงืฉื” ืื• ื›ืœ ื ืชื•ืŸ ืื—ืจ, ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžื”ื“ื•ื’ืžื” ืœืžืขืœื”. ืจืง ื”ืกื˜ื˜ื•ืก ื”ื™ื“ื•ืข ืœืฉืžืฆื” ื”ื•ื 0, ืื‘ืœ ืื ื™ ื™ื•ื“ืข ืฉืœื ืงื˜ืขืชื™ ืืช ื”ื‘ืงืฉื”! ื”ืชื—ืœืชื™ ืœื”ื‘ื™ืŸ ืžื” ื™ื›ื•ืœ ืœื”ืฉืชื‘ืฉ. ื•ื”ื›ืœ ื”ืชื‘ืจืจ ืคืฉื•ื˜ ืžืื•ื“:

ื”ืื–ืŸ 443 ssl httpxNUMX backlog=8192;

ื•ื‘ื›ืŸ, ืื ืืชื” ืžืฉืชืžืฉ ื‘-http2 ืขื‘ื•ืจ ื—ื™ื‘ื•ืจื™ ssl, ืื– ื–ื” ืœื ืžืกืคื™ืง ืจืง ืœื”ื’ื“ื™ืจ ืืช ืžืื’ืจื™ ื”ื‘ืงืฉื•ืช, ื”ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืžื•ื’ื“ืจื™ื ื’ื ื‘-ngx_http_v2_module, ื›ืœื•ืžืจ:

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

ืžื’ื‘ื™ืœ ืืช ื”ื’ื•ื“ืœ ื”ืžืจื‘ื™ ืฉืœ ื›ื•ืชืจืช ื‘ืงืฉื” ืฉื ื“ื—ืกืช ื‘ืืžืฆืขื•ืช HPACK. ื”ืื™ืœื•ืฅ ื—ืœ ื‘ืื•ืคืŸ ืฉื•ื•ื” ื”ืŸ ืขืœ ื”ืฉื ื•ื”ืŸ ืขืœ ื”ืขืจืš. ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืงื™ื“ื•ื“ Huffman, ื”ื’ื•ื“ืœ ื”ืืžื™ืชื™ ืฉืœ ืžื—ืจื•ื–ื•ืช ื”ืฉื ื•ื”ืขืจืš ืฉื ืคืจืง ืขืฉื•ื™ ืœื”ื™ื•ืช ื’ื“ื•ืœ ื™ื•ืชืจ. ืžื’ื‘ืœืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืžืชืื™ืžื” ืœืจื•ื‘ ื”ืฉืื™ืœืชื•ืช.

ื‘ืื•ืคืŸ ื›ืœืœื™, ื–ื”ื• ื–ื”. ื•ืœืžื” ื›ื•ืœื? ื›ื™ ืื•ืจืš ื”ืงื™ืฉื•ืจ ื”ื™ื” ืืจื•ืš - ืืจื•ืš ื™ื•ืชืจ ืžืื•ืชื 4k.

ืขืœ ื™ื“ื™ ื”ื’ื“ืจืชื•, ืœืžืฉืœ, 8kb (ืื• ื›ื›ืœ ื”ื ืจืื” ื™ืกืคื™ืง), ืื ื• ืคื•ืชืจื™ื ืืช ื”ื‘ืขื™ื”.
ื“ื‘ืจื™ื ื›ืืœื”.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”