[Nginx] response_status = 0 ကို အနိုင်ယူနည်သ

"sidenotes" အမျိုသအစာသမဟ ဆောင်သပါသတစ်ပုဒ်။

TL: DR:

http2_max_field_size 8k; # всех спасет!

ပရောဂျက်တစ်ခုတလင်၊ backend ၏အတလင်သပိုင်သလော့ဂျစ်အချို့ကို ပဌောင်သလဲပဌီသနောက်၊ မဟတ်တမ်သမျာသတလင် ထူသဆန်သသောတုံ့ပဌန်မဟု_ကုဒ်တစ်ခုကို ကျလန်ုပ်စတင်တလေ့ရဟိခဲ့သည်။ မဟတ်တမ်သမျာသတလင် ၎င်သသည် ကကဲ့သို့ဖဌစ်သည်-

{
  "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": ""
}


ကအကဌောင်သအရာနဟင့်ပတ်သက်သော စာရလက်စာတမ်သမျာသကို ဖတ်ရဟုခဌင်သနဟင့် ဂူဂဲလ်ပဌုလုပ်ခဌင်သမဟာ လုံသဝအကျိုသမဖဌစ်ထလန်သသောကဌောင့် ... ခေါင်သစီသမျာသကို မဖဌတ်သန်သဘဲ client မဟ ချိတ်ဆက်မဟုကို ပိတ်သောအခါတလင် ကအပဌုအမူ ဖဌစ်ပေါ်သည်ဟု ဖော်ပဌထာသသည် ။ ကောင်သပဌီ၊ ကျလန်ုပ်တို့၏အခဌေအနေတလင် "မည်သည့်နည်သဖဌင့်မဆို" နဟင့်မကိုက်ညီသော wsgi_ အတလက်ကဌာသခံအရလယ်အစာသနဟင့်အတူထူသခဌာသဆန်သပဌာသသောအရာမျာသ။

ယေဘူယျအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ပဌဿနာသည် ပဌဿနာမဟုတ်ဟု ကျလန်ုပ်တို့ ဆုံသဖဌတ်ခဲ့ပဌီသ ကျလန်ုပ်တို့၏အတလဲမျာသတလင် ၎င်သသည် လုံသဝမစိုသရိမ်ရဟူသောအချက်ကို ထည့်သလင်သစဉ်သစာသပါသည်။

အောက်ပါပဌဿနာကဌောင့် ကျလန်ုပ်သည် ပဟေဠိဖဌစ်သည်အထိ အတိအကျဖဌစ်သည်- အချို့ကိစ္စမျာသတလင်၊ လင့်ခ်မျာသသည် ပဌဿနာမရဟိဘဲ http မဟတစ်ဆင့် ဖလင့်ထာသသော်လည်သ https မဟတစ်ဆင့် အလုပ်လုပ်ရန် လုံသဝငဌင်သဆန်ပဌီသ အံ့သဌဖလယ်ကောင်သမဟုကို ထုတ်ပေသသည်- example.com ကို လက်ခံကျင်သပရန်အတလက် ချိတ်ဆက်မဟု #0 သည် နဂိုအတိုင်သ ကျန်နေခဲ့သည်
curl- (52) ဆာဗာမဟ ပဌန်ကဌာသချက် ဗလာ

မဟတ်တမ်သမျာသတလင်၊ ကျလန်ုပ်တို့သည် ကအရာအာသ IP ဖဌင့်သာ ခဌေရာခံနိုင်သည် - အထက်ဖော်ပဌပါ ဥပမာမဟ မဌင်တလေ့ရသည့်အတိုင်သ တောင်သဆိုချက် သို့မဟုတ် အခဌာသဒေတာမျာသ မရဟိခဲ့ပါ။ နာမည်ဆိုသဖဌင့် ကျော်ကဌာသသော အဆင့်အတန်သသည်သာ 0 ဖဌစ်သော်လည်သ တောင်သဆိုမဟုကို မနဟောင့်ယဟက်ကဌောင်သ ကျလန်ုပ်သိပါသည်။ ငါဘာတလေမဟာသသလာသနိုင်လဲ ဆိုတာကို တလေသကဌည့်မိတော့တယ်။ အရာအာသလုံသသည် အလလန်ရိုသရဟင်သသလာသသည်-

443 ssl ကိုနာသထောငျ htp2 backlog=8192;

ကောင်သပဌီ၊ အကယ်၍ သင်သည် ssl ချိတ်ဆက်မဟုမျာသအတလက် http2 ကိုအသုံသပဌုပါက၊ တောင်သဆိုမဟုကဌာသခံမျာသကို configure လုပ်ရုံမျဟနဟင့်မလုံလောက်ပါ၊ ၎င်သတို့ကို ngx_http_v2_module တလင်လည်သ configure လုပ်ရမည်ဖဌစ်ပါသည်။

СОМтаксОс:	http2_max_field_size разЌер;
УЌПлчаМОе:	http2_max_field_size 4k;
КПМтекст:	http, server

HPACK ကို အသုံသပဌု၍ ချုံ့ထာသသော တောင်သဆိုချက် ခေါင်သစီသ၏ အမျာသဆုံသအရလယ်အစာသကို ကန့်သတ်ထာသသည်။ ကန့်သတ်ချက်သည် အမည်နဟင့် တန်ဖိုသနဟစ်ခုလုံသတလင် တူညီစလာ သက်ရောက်သည်။ Huffman ကုဒ်နံပါတ်ကို အသုံသပဌုပါက၊ မထုပ်ပိုသထာသသော အမည်နဟင့် တန်ဖိုသစာတန်သမျာသ၏ အမဟန်တကယ်အရလယ်အစာသသည် ပိုကဌီသနိုင်ပါသည်။ မူရင်သကန့်သတ်ချက်သည် မေသခလန်သအမျာသစုအတလက် သင့်လျော်သည်။

ယေဘူယျအာသဖဌင့်တော့ ဒါပါပဲ။ အဘယ်ကဌောင့်အာသလုံသ? လင့်ခ်၏ အရဟည်သည် တူညီသော 4k ထက် ပိုရဟည်သောကဌောင့် ဖဌစ်သည်။

ဥပမာအာသဖဌင့်၊ 8kb (သို့မဟုတ် လုံလောက်နိုင်ဖလယ်ရဟိသည်) ဟု သတ်မဟတ်ခဌင်သဖဌင့် ကျလန်ုပ်တို့သည် ပဌဿနာကို ဖဌေရဟင်သပေသပါသည်။
ဒါဆို သလာသပါပဌီ။

source: www.habr.com

မဟတ်ချက် Add