လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Nginx ကိုအပြည့်အ 0 လမ်းညွှန်ကွန်ရက်ခရတ် proxy အထောက်အပံ့ကိုပြင်ဆင်ခြင်း

Nginx ကိုအပြည့်အ 0 လမ်းညွှန်ကွန်ရက်ခရတ် proxy အထောက်အပံ့ကိုပြင်ဆင်ခြင်း

M66 2025-07-09

websock protocol နှင့် nginx ၏အခန်းကဏ် and ကိုနားလည်ပါ

TCP အခြေပြုအပြည့်အဝ duplex ဆက်သွယ်ရေးပရိုတိုကောတစ် ဦး သည် TCP အခြေပြုအပြည့်အဝ Duplex Communicen Communication Protocol ဖြစ်သည်။ ဤအင်္ဂါရပ်သည်တိုက်ရိုက်စကားပြောခြင်း, အချိန်မှန်ဒေတာတွန်းအားပေးခြင်းနှင့်အခြားအခြေအနေများအတွက်အလွန်သင့်လျော်သည်။ အမှန်တကယ်ဖြန့်ကျက်မှုတွင် Nginx သည်များသောအားဖြင့် webscess connection တောင်းဆိုမှုများကိုရှေ့သို့ချီ။ စီမံရန်ပြောင်းပြန် proxy server အဖြစ်အသုံးပြုရန်လိုအပ်သည်။

Nginx ကို install လုပ်ပါ

ပထမ ဦး စွာ NGINX ကိုသင်၏ဆာဗာပတ် 0 န်းကျင်တွင်မှန်ကန်စွာတပ်ဆင်ထားကြောင်းသေချာပါစေ။ အကယ်. ၎င်းကို install မလုပ်ပါကသက်ဆိုင်ရာ installation command ကိုကွပ်မျက်ခြင်းဖြင့်လုပ်ငန်းလည်ပတ်မှုစနစ်အရဖြန့်ကျက်မှုကိုဖြည့်စွက်နိုင်သည်။

Nginx Configuration ကို websocket ကိုထောက်ပံ့ရန်ပြင်ဆင်ပါ

Nginx Support Websoet ဝက်ဘ်ဆိုက်များစေရန်, configuration files များကိုချိန်ညှိရန်လိုအပ်သည်။ HTTP Module တွင်ထည့်သွင်းထားသော configuration ၏ဥပမာတစ်ခုမှာ -

မြေပုံ $ http_upgrade $ connection_upgrade {
    ပုံမှန်အဆင့်မြှင့်တင်ခြင်း,
    '' အနီးကပ်;
}

အထက်ပြန် {{
    ဆာဗာ 127.0.0.1:8080;
}

ဤပြင်ဆင်မှု၏ရည်ရွယ်ချက်မှာ 0 န်ဆောင်မှုခံယူသူတောင်းဆိုမှုခေါင်းစဉ်ရှိ အဆင့်မြှင့်တင်မှု ခေါင်းစဉ်ကို Proxy အသုံးပြုရန်အတွက်စိတ်ကြိုက် variable variable_upgrade သို့မြေပုံဆွဲရန်ဖြစ်သည်။ တစ်ချိန်တည်းမှာပင်အထက်ကျောထောက်နောက်ခံအမည်ရှိ Backend အမည်ရှိသောဆာဗာတစ်ခုသတ်မှတ်ထားသည်မှာ local port 8080 ကိုညွှန်ပြသည်။

ဝက်ဘ်ဆိုက်ပိတ်ခြင်း proxy ကိုအကောင်အထည်ဖော်ရန်ဆာဗာပိတ်ပင်တားဆီးမှုကိုတည်ဆောက်ခြင်း

လိုက်ဖက်သည့်လမ်းကြောင်းများအတွက်ဝက်ဘ်ဆိုက်များတောင်းဆိုမှုများကိုကိုင်တွယ်ရန်အောက်ပါ တည်နေရာ ပြင်ဆင်မှုကို ဆာဗာ ပိတ်ပင်တားဆီးမှုသို့ထည့်ပါ။

တည်နေရာ / ဝက်ဘ်ဆိုက်များ {
    proxy_pass http: // backend;
    proxy_http_version 1.1;
    proxy_set_header $ http_upgrade;
    proxy_set_header ဆက်သွယ်မှု $ Connection_upgrade;
}

ဤ configuration ကို proxy လမ်းကြောင်း, forwarding address ကိုသတ်မှတ်ရန်နှင့်လိုအပ်သောတောင်းဆိုမှုဆိုင်ရာနေရာများကိုသေချာစေရန်နှင့်လိုအပ်သောတောင်းဆိုမှုဆိုင်ရာနေရာများကိုသတ်မှတ်ရန်လိုအပ်သည်။

configuration ကိုအကျိုးသက်ရောက်စေရန် Nginx ကို restart လုပ်ပါ

configuration file ကိုပြုပြင်ပြီးနောက်ဖိုင်ကိုသိမ်းပြီးပိတ်ပါ, ထို့နောက် configuration ကိုအကျိုးသက်ရောက်စေရန် Nginx 0 န်ဆောင်မှုကိုပြန်လည်စတင်ပါ။

sudo 0 န်ကြီးဌာန Nginx ပြန်လည်စတင်

websocket ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ

သင် websocket client tood ကိုသုံးနိုင်သည်သို့မဟုတ်ဝက်ဘ်ဆိုက်ချိတ်ဆက်မှုသည်မှန်ကန်မှုရှိမရှိစစ်ဆေးရန်ရိုးရှင်းသောဝဘ်စာမျက်နှာတစ်ခုဖန်တီးနိုင်သည်။ ဒီနေရာမှာအခြေခံဥပမာတစ်ခုပါ။

var ws = waxock အသစ် ("WS: // သင့်ရဲ့ jusddain / websces"),);

ws.Onopen = function () {)
    console.log ("websock on ချိတ်ဆက်");
};

ws.Onmessage = function ကို (ဖြစ်ရပ်) {
    console.log ("" + Event.data),
};

ws.Onclose = function () {)
    console.log ("websces မှအဆက်ပြတ်");
};

အထက်ပါကုဒ်ကို HTML ဖိုင်တစ်ခုအဖြစ်သိမ်းဆည်းပြီးသင်၏ browser တွင်ဖွင့်ပါ။ ဖွံ့ဖြိုးသူ tool တွင်အောင်မြင်သောဆက်သွယ်မှုကိုအောင်မြင်စွာဆက်သွယ်ရန်အချက်ပြပါကပြင်ဆင်မှုသည်အောင်မြင်သည်။

အကျဉ်းချုပ်

Nginx ၏ proxy function ကို configure လုပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် backend application များအတွက် websocket protocol ကိုထောက်ပံ့ပေးနိုင်သည်။ ဤနည်းလမ်းသည်ဆက်သွယ်ရေးထိရောက်မှုကိုတိုးတက်စေသည်သာမက Nginx ၏စွမ်းဆောင်ရည်မြင့်မားခြင်းနှင့်လုံခြုံရေးဝိသေသလက္ခဏာများကိုစနစ်တစ်ခုလုံးကိုပိုမိုတည်ငြိမ်စေရန်နှင့်အရွယ်အစားစေသည်။ Nginx ကိုယ်တိုင်က websocket protocol ကိုမကိုင်တွယ်နိုင်ကြောင်းသတိပြုသင့်သည်မှာ၎င်းသည်အလယ်အလတ် proxy တစ်ခုအနေဖြင့်သာဆောင်ရွက်သည်။ ပိုမိုရှုပ်ထွေးသော websocket Service 0 န်ဆောင်မှုယုတ္တိဗေဒကိုသင်အကောင်အထည်ဖော်ရန်လိုအပ်ပါကအပြောင်းအလဲများအတွက်သီးသန့် backet ည့်သည်ကွန်ယက်ဆာဗာကိုအသုံးပြုရန်အကြံပြုသည်။