Obvestila prenehajo prihajati na telefonu, ki sicer dobro brska prek korporativnega VPN. Spletne strani se naložijo, aplikacija se odpre, sporočila pa se pokažejo le doma ali po izklopu tunela. V aplikaciji, zgrajeni na Firebase Cloud Messaging, je push kanal ločena dolgotrajna odhodna povezava, ne pot HTTPS, ki jo je brskalnik pravkar dokazal. Pojdite skozi ta preverjanja po vrsti in ustavite se pri prvem, ki spodleti.

Potrdite, da aplikacija res uporablja FCM

Ni vsako obvestilo push. Nekatera načrtuje aplikacija lokalno, nekatera se pridobivajo prek HTTPS, nekatera pa pridejo po kanalu ponudnika, ki nima nič skupnega s Firebase. Če manifest in odvisnosti aplikacije vključujejo Firebase Messaging, njena obvestila običajno potujejo po povezavi FCM, odjemalska knjižnica pa registracijo zabeleži pod predvidljivo oznako.

adb logcat -s FirebaseMessaging:V
adb shell dumpsys package <package> | grep -i firebase

Žeton za registracijo v dnevniku potrjuje prenos. Brez njega razhroščujete obvestilni cevovod na ravni aplikacije in spremembe požarnega zidu ne bodo pomagale. Ta razlika je pomembna, ker sta dostavljeno, a nikoli prikazano sporočilo in sporočilo, ki nikoli ne prispe, za uporabnika videti enako.

Preverite odhodna vrata, ne spletnega mesta

Povezave naprav s FCM so TCP, ki jih začne naprava, na vrata 5228, z 5229 in 5230 kot rezervnima in 443 kot zadnjo možnostjo. Požarni zid, ki dovoli 443 za brskanje, lahko push še vedno pokvari, pravilo, ki dovoli domeno API aplikacije, pa ne pokriva končnih točk za sporočanje, ki so ločene storitve.

To so odhodne povezave s telefona. Vhodnih vrat ne objavljate na napravi ali na prehodu VPN, zato je zasnova že napačna, če kdo predlaga posredovanje vrat. Enako velja za pravilo, ki odpre ena vrata vsem naslovom na internetu: omejite ga na dokumentirane cilje.

PortRoleWhat to verify
5228Primary FCM connectionOutbound allowed and session state kept
5229, 5230Fallback portsOften missing from hand-written allowlists
443Last-resort fallbackWorks only if the client actually falls back
HTTP proxyNot a supported FCM transportProxy exclusion or bypass, not a port rule

Firebaseova omrežna navodila tudi navaja, da protokola za dostavo FCM ni mogoče prenašati čez običajni proxy HTTP. Zato delovanje brskalnika prek korporativnega spletnega proxyja ne dokazuje ničesar o push vtičnici: to sta dva različna odjemalca z različnima potema.

Preverite časovne omejitve mirovanja, ki ubijejo vtičnico

Povezava FCM ostane odprta med sporočili, zato je občutljiva na časovne omejitve NAT in preverjanja stanja. Navodila Firebase zahtevajo vsaj 30 minut tolerance do mirovanja tam, kjer veljajo take politike. Petminutna omejitev seje tiho odstrani preslikavo, telefon pa se znova poveže šele, ko ga nekaj prebudi, zato sporočila prihajajo v sunkih ali pa sploh ne.

Preberite tabelo sej na požarnem zidu ali prehodu VPN in poiščite povezavo telefona na 5228-5230. Primerjajte preostalo življenjsko dobo z dokumentirano vrednostjo. Če je krajša, povečajte časovno omejitev za ta vrata, namesto da bi spremenili vse politike na napravi, ker je globalno spremembo omejitve težko upravičiti in še težje razveljaviti.

Dostava push je odvisna tudi od tega, ali preslikava končne točke preživi gostovanje med Wi-Fi in mobilnim omrežjem. Preslikava, vezana na en vmesnik, je lahko ob prehodu zavržena, tudi ko obe omrežji dovolita vrata.

Odločite, ali je obhod VPN sprejemljiv

Odjemalci VPN v Androidu lahko dovolijo prometu, da obide tunel, in FCM lahko uporabi spodnje omrežje, ko je ta obhod dovoljen. Push kanal v tem primeru ostane šifriran, vendar ne nosi več naslova tunela, zato se maskiranje IP z VPN zanj ne uporablja. To je kompromis politike, ne okvara.

Če vaša politika obhod prepoveduje, mora pot tunela nositi povezavo: vrata odprta, omejitve dovolj dolge, proxy ne na poti. Upravljane storitve ne izključujte tiho in zaklepa ne popuščajte samo zato, ker obvestila delujejo v neupravljanem omrežju. Ikona VPN ne pove, katero pot je izbrala določena storitev

Ločite dostavo od prikaza in preizkusite enkrat

Dovoljenje, nastavitve kanala, Ne moti in stikala za posamezne aplikacije odločajo, ali se dostavljeno sporočilo prikaže. V Androidu 13 in novejših je dovoljenje za obvestila podeljeno med izvajanjem, zavrnjena podelitev pa ustvari tišino, ki je videti natanko kot blokirana vrata. Sporočilo, ki je prispelo, a se ni prikazalo, je težava prikaza; obravnavajte jo ločeno.

Izvedite en nadzorovan preskus, namesto da sporočila pošiljate naključno. Napravo, račun in aplikacijo imejte nespremenjene, pošljite eno sporočilo z znanim časovnim žigom in primerjajte stanje z VPN ter v odobrenem omrežju brez VPN. Zabeležite čas prejema v logcat in čas prikaza za vsak poskus. Če se dostava razlikuje, prikaz pa ne, je spremenljivka omrežna pot; če sta oba enaka, še naprej opazujte aplikacijo.

Skovodji omrežja predajte vrata, omejitev proxyja, izmerjeno omejitev in odločitev o obhodu v eni opombi. «Izklopi VPN» ni ugotovitev in dovoljenje vsega prometa Google ni ciljno popravilo.

Sorodni članki