“200 Connection Established” ဆိုသည်မှာ proxy က tunnel ကို လက်ခံခြင်းဖြစ်သည်။ ဝဘ်ဆိုက်က စာမျက်နှာကို မပို့ပြန်သေးပါ။ နောက်တစ်ဆင့်မှာ ဦးတည်ရာနှင့် TLS ဖြစ်ပြီး ထို့နောက်မှ အမှန်တကယ် HTTPS request လာသည်။

Proxy ချိတ်ဆက်မှုမှ ဝဘ်ဆိုက်၏ response အထိ

  1. Client က proxy endpoint ကို ချိတ်ဆက်သည်။
  2. ဦးတည်ရာ host နှင့် port ကို ချိတ်ဆက်ရန် proxy ထံ တောင်းဆိုသည်။
  3. Proxy က ထိုတောင်းဆိုချက်ကို လက်ခံသည် သို့မဟုတ် ငြင်းပယ်သည်။
  4. လက်ခံပြီးနောက် client က tunnel မှတစ်ဆင့် ဦးတည်ရာနှင့် TLS ညှိနှိုင်းသည်။
  5. Client က HTTPS request ပို့ပြီး ဝဘ်ဆိုက်၏ response ကို TLS အတွင်း လက်ခံသည်။

Proxy ချိတ်ဆက်မှု ငြင်းပယ်ခံရခြင်း၊ tunnel ငြင်းပယ်ခံရခြင်းနှင့် certificate အမှားသည် ဤအစီအစဉ်၏ နေရာအသီးသီးတွင် ဖြစ်သည်။ ဆက်တင်မပြောင်းမီ နောက်ဆုံးပြီးဆုံးခဲ့သောအဆင့်ကို ရှာပါ။

CONNECT အပြန်အလှန်ပို့ဆောင်မှု

HTTP/1.1 တွင် ရိုးရှင်းထားသော အပြန်အလှန်ပို့ဆောင်မှုမှာ ဤသို့ဖြစ်သည်။

CONNECT example.com:443 HTTP/1.1
Host: example.com:443

HTTP/1.1 200 Connection Established

Request ၏ ပစ်မှတ်သည် host နှင့် port ဖြစ်ပြီး ဝဘ်ဆိုက်၏ path သို့မဟုတ် query မပါပါ။ အောင်မြင်သော CONNECT response နောက်တွင် ချိတ်ဆက်မှုက tunnel ၏ byte များကို သယ်ဆောင်သည်။ HTTPS ဦးတည်ရာအတွက် client ၏ နောက်တစ်ကြိမ်ပို့ဆောင်မှုမှာ TLS handshake ဖြစ်သည်။

အင်္ဂလိပ်လို အကြောင်းပြချက်စာသားနှင့် တိုက်စစ်မည့်အစား ကိန်းဂဏန်း status ကို ဖတ်ပါ။ တူညီသော status အတွက် proxy များက စာသားအမျိုးမျိုး သုံးနိုင်သည်။

curl ဖြင့် ကြည့်ပါ

စက်တွင်း port 8080 ပေါ်ရှိ HTTP proxy အတွက်—

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

နားထောင်သည့်လိပ်စာကို သင့် endpoint ဖြင့် အစားထိုးပါ။ ရွေးချယ်စရာလိုပါက HTTP proxy စာရင်းကိုကြည့်ပြီး ရွေးထားသည့် entry ကို စမ်းသပ်ပါ။ ဗလာ bypass စာရင်းက ဤခေါ်ဆိုမှုတွင် proxy ကို ရွေးချယ်စေသည်။ အချိန်အစဉ်အတိုင်း proxy ချိတ်ဆက်မှု၊ CONNECT response၊ ဦးတည်ရာ certificate အတည်ပြုမှုနှင့် ဝဘ်ဆိုက် response ကို ရှာပါ။ Log ၏ အတိအကျအသုံးအနှုန်းသည် curl build ပေါ် မူတည်သည်။

Proxy က tunnel လက်ခံပြီးနောက် ဦးတည်ရာသည် 404၊ 429 သို့မဟုတ် 500 ပြန်ပို့နိုင်သည်။ မည်သည့် HTTP response ကိုမျှ မပြန်ပို့မီ TLS အတွင်းလည်း ပျက်ကွက်နိုင်သည်။

ဘယ်နေရာမှာ ရပ်သွားသလဲ

တွေ့ရသည့်အရာနောက်ထပ်စစ်ဆေးရန်
Proxy သို့ ချိတ်ဆက်မှု ငြင်းပယ်ခံရသည်Proxy လိပ်စာ၊ နားထောင်သည့် port၊ process နှင့် network ဝင်ရောက်ခွင့်။
Proxy က 407 ပြန်ပို့သည်Proxy account နှင့် authentication နည်းလမ်း။
Proxy က ဦးတည်ရာ သို့မဟုတ် port ကို ငြင်းပယ်သည်ဝင်ရောက်ခွင့်မူဝါဒနှင့် ခွင့်ပြုထားသည့် CONNECT ဦးတည်ရာများ။
Tunnel ဖွင့်ပြီးနောက် TLS အတည်ပြုမှု ပျက်ကွက်သည်ဦးတည်ရာအမည်၊ trust store၊ နာရီနှင့် စီမံထိန်းချုပ်ထားသော TLS ကြားဖြတ်ဖမ်းယူမှု ရှိမရှိ။
TLS အောင်မြင်ပြီး ဝဘ်ဆိုက်က အမှားပြန်ပို့သည်ဝဘ်ဆိုက်၏ response။

နှိုင်းယှဉ်ရာတွင် တစ်ဖက်ကို မပြောင်းပါနှင့်။ တူညီသည့် proxy မှတစ်ဆင့် အခြားဦးတည်ရာကို စမ်းပါ၊ သို့မဟုတ် တူညီသည့်ဦးတည်ရာကို ခွင့်ပြုထားသော တိုက်ရိုက်လမ်းကြောင်းဖြင့် နှိုင်းယှဉ်ပါ။

Tunnel မှာလည်း လည်ပတ်သူရှိသည်

Proxy သည် CONNECT ဦးတည်ရာကို သိပြီး traffic ၏ အချိန်နှင့် ပမာဏကို ကိုင်တွယ်သည်။ သာမန်အစမှအဆုံး TLS က ဝဘ်ဆိုက်၏ application အကြောင်းအရာကို ထို TLS session ကို မိမိထံတွင် အဆုံးသတ်မထားသည့် proxy မှ ကာကွယ်ပေးသည်။ Client က ယုံကြည်ထားသော စီမံထိန်းချုပ်သည့် ကြားဖြတ်ဖမ်းယူရေး proxy တွင် ယုံကြည်မှုဆိုင်ရာ ဆက်နွယ်ပုံ မတူပါ။

ဆက်စပ်ဆောင်းပါးများ