Ṣí pánẹ́ẹ̀lì nẹ́tíwọ́kì kí o tó gbé ojú-ìwé ìjíròrò wọlé, lẹ́yìn náà wá ìbéèrè tí ó ń gbé àwọn ìfiránṣẹ́ kì í ṣe èyí tí ó ń ya àwòrán ojú-ìwé. Ìwé, àwọn skriptì, ìpààrọ̀ nígbà ìwọlé àti gbígbé ìjíròrò lè lọ sí àwọn olùgbàlejò ọ̀tọ̀ọ̀tọ̀. Ọ̀pọ̀ ìròyìn pé VPN ba ìjíròrò jẹ́ ń ṣàlàyé ìkùnà ọ̀kan nínú àwọn ìbéèrè mẹ́rin yẹn. Wo wọ́n ní tẹ̀léntẹ̀lén àti ìdáhùn sábà máa ń hàn ní ìṣẹ́jú méjì àkọ́kọ́.

Wá ìbéèrè tí ó ń gbé àwọn ìfiránṣẹ́

Ṣe àlẹ̀mọ́ nípa irú nígbà tí ojú-ìwé bá balẹ̀: WebSocket farahàn gẹ́gẹ́ bi àkọsílẹ̀ tirẹ̀, ìṣàn ìṣẹ̀lẹ̀ wà ní ṣíṣí pẹ̀lú ìdáhùn tí ń dàgbà, àti ìwádìí gígùn ń tún ṣe ní àkókò déédéé. Kọ ọ̀nà, olùgbàlejò, ibùdó àti ipò fún èyí tí ó ń gbé àwọn ìmúdójúìwọ̀n. Ṣàkíyèsí bóyá ó bẹ̀rẹ̀ kí ìwọlé tó tàbí lẹ́yìn náà, nítorí gbígbé tí a ṣí kí ìjẹ́rìí tó sábà jẹ́ àpẹẹrẹ mìíràn ju èyí tí a ṣí lẹ́yìn náà. Ka àwọn àkọlé ìbéèrè fún ìbéèrè ìgbéga tàbí irú àkóónú tí a gbà, nítorí wọ́n fi gbígbé tí ojú-ìwé tí a fi sílẹ̀ yàn gan-an hàn.

Àwọn ìròyìn fọ́ọ̀mù àtijọ́ ń ṣàlàyé àwọn gbígbé tí àwọn ọjà ti jáwọ́ lóti ni ọdún púpọ̀ sẹ́yìn, nítorí gbẹ́kẹ̀ lé ohun tí aṣàwákiri kọ sílẹ̀ dípò àpilẹ̀kọ náà. Bí àkọsílẹ̀ kò bá sí rárá, kóòdù ẹlẹ́rìí lè máà ti gbìyànjú ìsopọ̀ rí, èyí tí ó tọ́ka sí ìkùnà skriptì tàbí ìṣètò tí ó ṣáájú. Pípé ojú-ìwé wọlé ń fi hàn pé ìwé dé nìkan, ìyàtọ̀ yẹn sì ń pinnu bóyá ìwọ ń ṣe àtúnṣe nẹ́tíwọ́kì gan-an.

Ìṣètò, ìfiwé àti ìgbésí ayé kùnà ní ọ̀nà ọ̀tọ̀ọ̀tọ̀

WebSocket ń ṣí pẹ̀lú ìgbéga HTTP tí a fi ipò 101 dáhùn, gbogbo ohun tí ó tẹ̀lé sì jẹ́ ìfiránṣẹ́ tí a fi férémù ṣe kì í ṣe gbígbé ojú-ìwé, ìpele méjì tí RFC 6455 ń ya sọ́tọ̀ ní kedere. Ìṣàn ìṣẹ̀lẹ̀ ń dáhùn pẹ̀lú irú àkóónú ṣíṣàn tí ó sì ń pa ara ìdáhùn mọ́ ní ṣíṣí. Àwọn méjèèjì lè kùnà láti ṣí, ṣí wọ́n kò fi nǹkan kankan ránṣẹ́, tàbí ṣí, fi ránṣẹ́ lẹ́yìn náà kú ní ìdákẹ́jẹ́.

wscat -c wss://chat.example.com/socket -H "Origin: https://chat.example.com"
curl -N -H "Accept: text/event-stream" https://chat.example.com/events

Mú ìkùnà àkọ́kọ́ tí ó ní ìtumọ̀ kí o tó fọwọ́ kan profáìlì, nítorí àwọn àkókò mẹ́ta náà ń tọ́ka sí àwọn ìpele ọ̀tọ̀ọ̀tọ̀. Bí ìfọwọ́sọ̀wọ́pọ̀ kò bá parí rárá, fi wé ìbéèrè HTTPS lasan sí olùgbàlejò kan náà láti wo bóyá nǹkan kan dé ibẹ̀. Bí ó bá parí tí ìfiránṣẹ́ kò sì dé, wo àwọn férémù tàbí ara ìṣàn nígbà tí ẹnìkan ń fi ìfiránṣẹ́ ìdánwò ránṣẹ́ láti àkọsílẹ̀ mìíràn. Bí ó bá ṣiṣẹ́ tí ó sì dúró, kọ àkókò pàtó àti kóòdù ìpàdé, nítorí pé pèjọ yẹn ń fi ẹ̀gbẹ́ tí ó jáwọ́ hàn.

Kóòdù 1006 túmọ̀ sí pé sokẹ́ẹ̀tì pa dé láìsí férémù ìpàdé, àti bẹ́ẹ̀ ni ẹ̀rọ aláàárín tàbí àkókò àìṣiṣẹ́ ń hàn láti inú aṣàwákiri. Ìlù ọkàn VPN kò fi hàn pé ìpàdé ohun èlò inú ṣì wà láàyè.

Olùgbàlejò tààrà jẹ́ ibi tí ó yàtọ̀

Àwọn ẹ̀yìn ìjíròrò sábà ń gbé lórí orúkọ olùgbàlejò tirẹ̀, nígbà mìíràn lórí ibùdó mìíràn tàbí lẹ́yìn ìwé-ẹ̀rí ọ̀tọ̀ọ̀tọ̀. Ibi yẹn nílò ìpinnu, ọ̀nà àti ìtọ́jú proxy tirẹ̀, àti tunnel tí a pín lè kan ojú-ìwé kí ó sì yọ sokẹ́ẹ̀tì kúrò. Yanjú orúkọ olùgbàlejò tààrà láti ẹ̀rọ ẹlẹ́rìí kí o sì jẹ́rìí pé ó ń dáhùn pẹ̀lú àdírẹ́sì tí o retí lórí nẹ́tíwọ́kì yẹn. Ṣàyẹ̀wò ẹ̀wọ̀n ìwé-ẹ̀rí ní pàtàkì fún orúkọ olùgbàlejò yẹn, nítorí pé wildcard tí ó bo ojú-ìwé kì í sábà bo ibi ìparí sokẹ́ẹ̀tì.

Bí proxy bá wà lójú ọ̀nà, jẹ́rìí pé ó gba ìgbéga tàbí ìdáhùn gígùn láàyè dípò kí ó kó sínú búfà. Àwọn proxy ilé-iṣẹ́ tí ń tún HTML kọ máa ń tọ́jú ìgbéga WebSocket lọ́nà búburú, èyí tí ó ń mú ojú-ìwé yà jáde nígbà tí ìjíròrò kò sopọ̀ rárá. Nítorí náà ìbéèrè méjì sí ọjà kan kì í ṣe ìbéèrè méjì sí olùgbàlejò kan.

Tún àkójọ ibi ṣe, kì í ṣe àwọn àyẹ̀wò ààbò

Títún àkójọ ibi ṣe jẹ́ ìyípadà ọ̀nà àti ti olówó ọ̀nà. Jíjẹ́ kí ìjẹ́rìí ìwé-ẹ̀rí rọ̀ tàbí yíyọ àkọlé Origin kúrò jẹ́ ìyípadà ààbò àti ti olówó ìlànà, ẹni tí kì í sábà jẹ́ ẹni tí ń ṣe àtúnṣe tikẹ́ẹ̀tì. Ọ̀nà tí ó yára jù láti mú ìsopọ̀ dàbí ẹni pé ó ṣiṣẹ́ sábà jẹ́ ọ̀nà tí ó yára jù láti mú ìṣẹ̀lẹ̀ ṣeéṣe.

Béèrè lọ́wọ́ olówó ohun èlò irú àwọn orísun tí ẹ̀yìn gbà kí o tó yí nǹkan kan padà, kí o sì fi ìdáhùn yẹn lé ẹni tí ń ṣàkóso proxy. Bí àṣìṣe ìwé-ẹ̀rí bá farahàn nípasẹ̀ tunnel nìkan, ṣàyẹ̀wò ẹ̀rọ tí ń dí lọ́nà dípò fífi ọ̀nà àyípẹ̀ sílẹ̀.

Kọ sílẹ̀ tó láti fi lé ẹlòmíràn

Ohun tí ó wúlò kúrú: URL ojú-ìwé, ibi ìparí tààrà, àbájáde ìfọwọ́sọ̀wọ́pọ̀, àkókò ìkùnà àkọ́kọ́ àti bóyá a gbìyànjú ìsopọ̀ mìíràn. Fi orúkọ profáìlì VPN àti nẹ́tíwọ́kì tí o wà kún un, ẹnikẹ́ni tí ó bá kà á sì lè tún ìdánwò ṣe láìbèèrè ìbéèrè mẹ́fà. Fi àwọn kúkì, àkọlé àṣẹ àti ara ìfiránṣẹ́ pamọ́, kí o sì yàn àwòrán ojú-ìwé ti ọ̀wọ̀n àkókò ju gbígbé àkójọ pípé jáde. Àwọn férémù àti àkójọ nẹ́tíwọ́kì lè ní ìfiránṣẹ́ àṣírí àti tọ́kẹ̀nì ìpàdé, nítorí ṣàyẹ̀wò kí o tó so nǹkan kan mọ́.

Bí ìkùnà bá jẹ́ ìpàdé ní ìdákẹ́jẹ́, fi kóòdù ìpàdé àti àkókò àìṣiṣẹ́ tí ó ṣáájú rẹ̀ kún un, nítorí pé pèjọ yẹn sábà ń fi olówó àkókò ààlà hàn. Fi àkọsílẹ̀ lé olówó ohun èlò tàbí ẹnubode dípò kí o ka iye àkókò ààlà fúnra rẹ. Ìdáhùn wọn nípa ìhùwàsí keepalive tí a ṣe àtìlẹ́yìn ni ó pa tikẹ́ẹ̀tì mọ́.

Àwọn àpilẹ̀kọ tó jọra