Բացեք ցանցի վահանակը զրույցի էջը բեռնելուց առաջ, ապա գտեք հաղորդագրությունները կրող հարցումը, ոչ թե այն, որը գծում է կեղևը։ Փաստաթուղթը, սկրիպտները, մուտքի փոխանակումը և զրույցի տրանսպորտը կարող են գնալ տարբեր հոսթեր։ VPN-ի կողմից զրույցը փչացնելու մասին հաշվետվությունների մեծ մասը իրականում նկարագրում է այդ չորս հարցումներից մեկի ձախողումը։ Դիտեք դրանք հերթով և պատասխանը սովորաբար երևում է առաջին երկու րոպեում։

Գտեք հաղորդագրությունները կրող հարցումը

Զտեք ըստ տեսակի, երբ էջը հանդարտվում է. WebSocket-ը հայտնվում է որպես առանձին գրառում, իրադարձությունների հոսքը բաց է մնում աճող պատասխանով, իսկ երկար հարցումը կրկնվում է կանոնավոր ընդմիջումով։ Գրանցեք սխեման, հոսթը, պորտը և կարգավիճակը նրա համար, որը կրում է թարմացումները։ Ուշադրություն դարձրեք՝ այն սկսվել է մուտքից առաջ, թե հետո, որովհետև նույնականացումից առաջ բացված տրանսպորտը սովորաբար այլ դիզայն ունի, քան դրանից հետո բացվածը։ Կարդացեք հարցման վերնագրերը թարմացման հարցման կամ ընդունված բովանդակության տեսակի համար, որովհետև դրանք նույնացնում են այն տրանսպորտը, որը տեղակայված էջն իրականում ընտրել է։

Հին ֆորումային գրառումները նկարագրում են տրանսպորտներ, որոնք ապրանքները դադարել են օգտագործել տարիներ առաջ, ուստի վստահեք այն, ինչ գրանցել է դիտարկիչը, ոչ թե հոդվածին։ Եթե գրառումը լիովին բացակայում է, հավանաբար հաճախորդի կոդը երբեք չի փորձել կապ հաստատել, ինչը ցույց է տալիս ավելի վաղ սկրիպտի կամ կարգավորման ձախողում։ Բեռնվող էջը միայն ապացուցում է, որ փաստաթուղթը հասել է, և այդ տարբերությունն է որոշում՝ ընդհանրապես ցանցն եք վրիպազերծում, թե ոչ։

Կարգավորումը, առաքումը և կյանքի տևողությունը ձախողվում են տարբեր ձևով

WebSocket-ը բացվում է HTTP թարմացմամբ, որին պատասխանում են 101 կարգավիճակով, և դրանից հետո ամեն ինչ շրջանակված հաղորդագրություններ են, ոչ թե էջերի բեռնում, երկու փուլեր, որոնք RFC 6455-ն բացահայտորեն առանձին է պահում։ Իրադարձությունների հոսքը պատասխանում է հոսքային բովանդակության տեսակով և բաց է պահում պատասխանի մարմինը։ Երկուսն էլ կարող են ձախողվել բացման ժամանակ, բացվել և ոչինչ չառաքել, կամ բացվել, առաքել և հետո լուռ մահանալ։

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

Բռնեք առաջին իմաստալից ձախողումը նախքան պրոֆիլին դիպչելը, որովհետև երեք ժամանակները ցույց են տալիս տարբեր շերտեր։ Եթե ձեռքսեղմումը երբեք չի ավարտվում, համեմատեք այն նույն հոսթին ուղղված սովորական HTTPS հարցման հետ՝ տեսնելու, թե արդյոք ինչ-որ բան ընդհանրապես հասնում է այնտեղ։ Եթե այն ավարտվում է և հաղորդագրություններ չեն գալիս, դիտեք շրջանակները կամ հոսքի մարմինը, մինչ ինչ-որ մեկը մեկ այլ հաշվից փորձնական հաղորդագրություն է ուղարկում։ Եթե աշխատում է, ապա դադարում, գրանցեք ճշգրիտ ժամը և փակման կոդը, որովհետև այդ զույգը նույնացնում է, թե որ կողմը հանձնվեց։

1006 կոդը նշանակում է, որ սոքեթը փակվել է առանց փակման շրջանակի, այդպես է ներսից դիտարկիչի մեջտեղի սարքը կամ անգործության ժամկետը։ VPN-ի սրտի բաբախյունը չի ապացուցում, որ ներքին հավելվածի նստաշրջանը դեռ կենդանի է։

Կենդանի հոսթը առանձին նպատակակետ է

Զրույցի բեկենդները հաճախ ապրում են իրենց սեփական հոսթանվան վրա, երբեմն այլ պորտով կամ առանձին վկայագրի հետևում։ Այդ նպատակակետին պետք է իր լուծումը, երթուղին և փոխանորդի մշակումը, և բաժանված թունելավորումը կարող է ներառել էջը և բացառել սոքեթը։ Լուծեք կենդանի հոսթանունը հաճախորդի մեքենայից և հաստատեք, որ այն պատասխանում է այն հասցեով, որը սպասում եք այդ ցանցում։ Ստուգեք վկայագրերի շղթան հատկապես այդ հոսթանվան համար, որովհետև կայքը ծածկող ընդհանուր վկայագիրը միշտ չէ, որ ծածկում է սոքեթի վերջնակետը։

Եթե ուղու վրա փոխանորդ կա, հաստատեք, որ այն թույլ է տալիս թարմացումը կամ երկարատև պատասխանը՝ դրանք բուֆերացնելու փոխարեն։ HTML-ը վերաշարադրող կորպորատիվ փոխանորդները հաճախ վատ են կառավարում WebSocket թարմացումները, ինչը ստեղծում է էջ, որը ցուցադրվում է, մինչ զրույցը երբեք չի միանում։ Այսպիսով՝ նույն ապրանքին ուղղված երկու հարցումը նույն հոսթին ուղղված երկու հարցում չէ։

Ուղղեք նպատակակետերի ցանկը, ոչ թե անվտանգության ստուգումները

Նպատակակետերի ցանկը ուղղելը երթուղավորման փոփոխություն է և պատկանում է նրան, ով տիրապետում է երթուղուն։ Վկայագրերի ստուգումը թուլացնելը կամ Origin վերնագիրը հեռացնելը անվտանգության փոփոխություն է և պատկանում է նրան, ով տիրապետում է քաղաքականությանը, ինչը հազվադեպ է տոմսը վրիպազերծող մարդը։ Կապը տեսանելի դարձնելու ամենաարագ ճանապարհը սովորաբար միջադեպը հնարավոր դարձնելու ամենաարագ ճանապարհն է։

Նախքան որևէ բան փոխելը հարցրեք հավելվածի սեփականատիրոջը, թե որ աղբյուրներն է ընդունում բեկենդը, և այդ պատասխանը փոխանցեք փոխանորդը կառավարողին։ Եթե վկայագրի սխալը երևում է միայն թունելով, ստուգեք ընդհատող սարքը՝ շրջանցում տեղադրելու փոխարեն։

Գրանցեք բավական հանձնելու համար

Օգտակար փաստաթուղթը կարճ է՝ էջի URL-ը, կենդանի վերջնակետը, ձեռքսեղմման արդյունքը, առաջին ձախողման ժամը և արդյոք փորձվել է վերամիացում։ Ավելացրեք VPN պրոֆիլի անունը և այն ցանցը, որում եղել եք, և ցանկացած ընթերցող կկարողանա կրկնել փորձարկումը՝ առանց վեց հարց տալու։ Թաքցրեք քուքիները, լիազորման վերնագրերը և հաղորդագրությունների մարմինները, և նախընտրեք ժամանակի սյունակի էկրանի պատկերը՝ ամբողջական արխիվի արտահանման փոխարեն։ Շրջանակները և ցանցային արխիվները կարող են պարունակել անձնական հաղորդագրություններ և նստաշրջանի նշաններ, ուստի ստուգեք նախքան որևէ բան կցելը։

Եթե ձախողումը լուռ փակում է, ներառեք փակման կոդը և դրան նախորդող անգործության միջակայքը, որովհետև այդ զույգը սովորաբար նույնացնում է ժամկետի սեփականատիրոջը։ Հանձնեք արձանագրությունը հավելվածի կամ դարպասի սեփականատիրոջը՝ ինքներդ ժամկետի արժեք գուշակելու փոխարեն։ Աջակցվող keepalive վարքագծի մասին նրանց պատասխանն է, որ փակում է տոմսը։

Առնչվող հոդվածներ