Server tal-iżvilupp li jwieġeb fuq il-laptop u mkien ieħor normalment ikun marbut mal-indirizz ħażin. Server li jaċċetta l-konnessjoni iżda jirrifjuta l-paġna normalment ifalli verifika tal-isem tal-host. Dawn huma ħsarat differenti b'tiswijiet differenti, u l-għażla tal-konfigurazzjoni t-tajba tiddependi min irid jilħaq l-ispazju tax-xogħol u kif jasal.

Tliet mistoqsijiet jiddeċiedu t-tweġiba: min jikkonnettja, liema indirizz jista' jilħaq, u jekk l-ikkarrikar mill-ġdid direttx għandux jaħdem għalih.

Ibda mis-soket, mhux mill-fajl tal-konfigurazzjoni

Aqra ma' xiex il-proċess li qed jaħdem fil-fatt marbut, fl-istess kuntest tan-netwerk li beda, għax kontenitur jew spazju tal-ismijiet jista' jkollu soket li l-qoxra tal-host ma tarahiex. Il-kolonna tas-smigħ twieġeb l-ewwel mistoqsija: biss mogħdija lokali, interfaċċa waħda speċifika, jew kull interfaċċa.

ss -ltn '( sport = :8080 )'
ss -ltnp | grep node

L-indirizz loopback huwa l-valur prestabbilit sikur u inutli għal klijent remot. L-irbit b'karattru wildcard huwa konvenjenti u jesponi l-port fuq kull interfaċċa li għandha rotta, li huwa usa' milli jfissru ħafna nies fuq magna li ġġorr ukoll tunnel. Indirizz speċifiku huwa l-għażla tan-nofs, u jaħdem biss jekk l-interfaċċa jkollha dak l-indirizz fil-mument li jinħoloq is-soket. Id-distinzjoni hija importanti għax tnejn minn dawn it-tliet irbit jidhru l-istess fil-brawżer u jġibu ruħhom b'mod kompletament differenti hekk kif ikun hemm it-tieni interfaċċa.

Aġġusta ruħek għal dik l-osservazzjoni qabel ma tmiss rotot jew regoli tal-firewall. Jekk il-proċess qed jisma' fuq l-indirizz ħażin, ebda routing tal-politika mhu se jwassal il-klijent hemmhekk.

Agħżel l-indirizz tal-irbit skont min irid jilħaq

Jekk int biss fuq din il-magna għandek bżonn il-paġna, żomm l-irbit loopback u waqfa. Jekk kollega wieħed fuq l-istess tunnel jeħtieġha, irbit l-indirizz tal-interfaċċa tat-tunnel u ħalli l-firewall jippermetti biss dik is-sors. L-ippubblikar ta' server tal-iżvilupp lil hinn min-nies li qed jittestjawh b'mod attiv hija drawwa li fl-aħħar tesponi l-ispazju tax-xogħol lill-internet.

Jekk brawżer ġewwa kontenitur jeħtieġ jilħaq is-server, l-indirizz tal-irbit irid ikun wieħed li n-netwerk tal-kontenitur jista' jagħti rotot lejh, u dan ħafna drabi mhuwiex l-indirizz li l-host issolvi għalih innifsu. Iddeċiedi l-każ qabel ma teditja l-konfigurazzjoni, għax it-tliet każijiet jipproduċu tliet valuri differenti u wieħed biss huwa tajjeb. It-tħassib hawn jitlef aktar ħin minn kwalunkwe parti oħra tas-setup.

Imbagħad issettja l-indirizz fil-forma li l-lancjar tiegħek fil-fatt jaqra. Fajl tal-konfigurazzjoni u skript li jibni s-server b'mod programmatiku ma jikkonsmawx l-istess għażliet:

devServer: {
  host: "10.77.0.20",
  port: 8080,
  allowedHosts: ["dev.corp.example"],
}

L-indirizz f'dak il-framment huwa illustrattiv u jirrappreżenta l-indirizz VPN li għandu l-host. Jekk il-proġett jibni s-server b' new WebpackDevServer(options, compiler) għaddi l-għażliet mill-argument tal-kostruttur minflok, għax il-proprjetà separata devServer fil-konfigurazzjoni webpack ma tiġix ikkonsultata f'dik it-triq. Dik id-differenza bejn il-fajl tal-konfigurazzjoni u l-Node API taqbad lil dawk li jikkupjaw framment fi proġett li qatt ma jaqrah. id-dokumentazzjoni dev-server tifred iż-żewġ stili tal-lancjar u hija r-referenza li magħha għandha tiġi vverifikata l-verżjoni użata.

Qabbel il-verifika tal-isem tal-host mal-ismijiet li tapprova

Il-verifika tal-isem tal-host teżisti biex tipprevjeni paġna servuta minn isem ikkontrollat minn attakkant milli tkellem mas-server tal-iżvilupp tiegħek permezz tal-brawżer. L-iżattivazzjoni tagħha b' allowedHosts: "all" tneħħi dik il-protezzjoni, u l-konvenjenza rarament tiswa fuq magna li tista' tilħaq servizzi interni. Il-verifika hija rħisa biex tissodisfa b'mod korrett ladarba tkun taf liema ismijiet se jibgħat il-brawżer.

Elenka l-ismijiet eżatti li se tuża, inkluż l-isem privat li jiġi solvut għall-indirizz tat-tunnel. Jekk il-klijent isolvi isem għal indirizz differenti minn dak li rbatt, għandek problema tas-soluzzjoni tal-ismijiet u mhux problema tal-konfigurazzjoni tas-server, u ż-żieda tal-isem mal-lista permessa mhux se ssolviha. Ikkonferma s-soluzzjoni mill-klijent, mhux mis-server.

Żomm it-tliet kontrolli separati f'moħħok: l-indirizz tal-irbit jiddeċiedi liema interfaċċi jaċċettaw il-konnessjoni, il-lista permessa tiddeċiedi liema intestaturi Host jiġu aċċettati, u l-awtentikazzjoni tiddeċiedi min jitħalla jidħol. It-tielet waħda biss hija kontroll tal-aċċess, u server tal-iżvilupp normalment m'għandux waħda. Anke l-indirizz tat-tunnel mhuwiex mekkaniżmu ta' awtentikazzjoni, għax kulmin jista' jagħti rotot lejh diġà jinsab ġewwa l-fruntiera li kont qed tistrieħ fuqha.

Ivverifika l-paġna u s-soket tal-ikkarrikar mill-ġdid dirett flimkien

Tagħbix talba friska mill-klijent mahsub bl-iskema konfigurata, u aqra r-riżultat minflok il-cache. Għal HTTPS żomm l-isem tal-host mistenni u l-validazzjoni taċ-ċertifikat, għax twissija tal-brawżer mhijiex test ta' aċċettazzjoni b'suċċess. Paġna li tidher filwaqt li l-ikkarrikar mill-ġdid dirett ifalli bil-kwiet hija l-aktar suċċess parzjali komuni hawn, u huwa faċli li tintrema waqt verifika mgħaġġla.

curl -sS -o /dev/null -w "%{http_code} %{remote_ip}\n" http://dev.corp.example:8080/
curl -sS -i http://10.77.0.20:8080/ | head -n 5

Imbagħad iftaħ id-dijanjostika tan-netwerk tal-brawżer u osserva l-konnessjoni WebSocket. Paġna tista' tgħabbi minn isem tal-host, port u skema waqt li s-soket tal-ikkarrikar juża oħrajn, u għalhekk it-tnejn iridu jiġu vverifikati separatament. Ikkonfigura l-URL tal-klijent dokumentat biss meta l-mogħdija skjerata tassew teħtieġ valur differenti, u ppreferi li ssewwi l-mogħdija milli tgħallem il-klijent soluzzjoni temporanja.

Irreġistra l-indirizz tas-semmiegħ, l-isem aċċettat, is-sors permess u ż-żewġ riżultati fin-noti tal-proġett. Dik ir-reġistrazzjoni tgħix għall-persuna li jmiss li tibda l-ispazju tax-xogħol u tistaqsi għaliex il-paġna tgħabbi iżda qatt ma tiġġedded.

Artikli relatati