நீங்கள் புதிய பில்டை வெளியிட்டீர்கள், VPN-க்கு மாறினீர்கள், அதே திரை ஏற்றப்படுவதை நிறுத்தியது. Android 9 மற்றும் அதற்குப் பிறகு அதிக பொதுவான விளக்கம் மிகவும் சப்பையானது: API 28 அல்லது அதற்கு மேல் இலக்கு வைக்கும் செயலிகளுக்கு தளம் சாதாரண HTTP-ஐ மறுக்கிறது, VPN அதை வெளிப்படுத்தும் அளவுக்கு சூழலை மட்டுமே மாற்றியது. நீங்கள் காணும் பிழை HTTP கிளையண்டைப் பொறுத்தது, அதனால்தான் அது cleartext என்று மிக அரிதாகச் சொல்கிறது.

இந்தத் தோல்வி உண்மையில் என்ன

Android 9 முதல், செயலி API நிலை 28 அல்லது அதற்கு மேல் இலக்கு வைத்தவுடன் தளம் இயல்பாக cleartext-ஐத் தடுக்கிறது. சாதாரண HTTP முகவரிக்கான கோரிக்கை ஒரு பாக்கெட் கூட சாதனத்தை விட்டு வெளியேறும் முன் தளத்தால் நிராகரிக்கப்படுகிறது. எந்தப் பிழையைப் பார்ப்பீர்கள் என்பது HTTP நூலகத்தைப் பொறுத்தது: சில நேரங்களில் பொதுவான பிணைய தோல்வி, சில நேரங்களில் நேரம் முடிவு, சில நேரங்களில் cleartext-ஐ நேரடியாகப் பெயரிடும் செய்தி. அது ஒருபோதும் செய்யாதது உங்கள் சேவையகத்தை அடைவது. Android இயல்பு மற்றும் களத்தால் வரையறுக்கப்பட்ட மாற்றை அதன் பாதுகாப்பு கட்டமைப்பு வழிகாட்டியில் ஆவணப்படுத்துகிறது.

அதே சாதனத்தின் உலாவி இன்னும் பக்கத்தை ஏற்ற முடியும், பலர் தவறவிடும் துப்பு அதுதான். உலாவிகள் உங்கள் செயலியின் பிணைய பாதுகாப்புக் கொள்கைக்கு உட்பட்டவை அல்ல.

VPN மீது குற்றம் ஏன்

பொதுவாக மூன்று விஷயங்கள் ஒரே நேரத்தில் மாறுகின்றன. VPN இணைந்த பிறகு செயலி வேறு புரவலன் பெயரைத் தீர்க்கலாம், சாதனம் புதியதாகவும் புதிய பில்டுடனும் இருக்கலாம், அல்லது பில்டே இயல்பைத் தூண்டும் இலக்கு API நிலைக்கு மாறியிருக்கலாம். VPN தெரிகிறது, இலக்கு SDK தெரியவில்லை, எனவே டிக்கெட் VPN-க்கே கிடைக்கிறது.

பிணைய கட்டமைப்பைத் தொடும் முன் பழைய மற்றும் புதிய பில்டுகளின் இலக்கு நிலைகளை ஒப்பிடுங்கள். 27 அல்லது அதற்குக் குறைவாக இலக்கு வைக்கும் செயலி விலக்கப்பட்டுள்ளது, «என் பழைய ஃபோனில் இது வேலை செய்கிறது» எனும் ஒவ்வொரு அறிக்கையையும் இது விளக்குகிறது.

Expo கொடி உண்மையில் எங்கே விழுகிறது

நிர்வகிக்கப்பட்ட Expo திட்டத்தில் app.json-ல் அமைப்பைச் சேர்ப்பது Android மேனிஃபெஸ்ட்டைத் திருத்தாது, ஏனெனில் மேனிஃபெஸ்ட்டை prebuild மற்றும் மேம்பாட்டு பில்டுகளே உருவாக்குகின்றன. அந்தக் கட்டத்தில் அமைப்பை எழுதுவது கட்டமைப்பு செருகுநிரல். ஆதரிக்கப்படும் பாதை expo-build-properties, இது செயலி கட்டமைப்பில் android-க்குக் கீழ் cleartext விருப்பத்துடன் அமைக்கப்படுகிறது.

{
  "plugins": [
    ["expo-build-properties", {
      "android": { "usesCleartextTraffic": true }
    }]
  ]
}

துணுக்கு செருகுநிரல் விருப்பத்தை மட்டும் அமைக்கிறது; மேனிஃபெஸ்ட் பின்னர் உருவாகிறது. prebuild அல்லது புதிய மேம்பாட்டு-கிளையண்ட் பில்டை இயக்கி, பின்னர் மீண்டும் சோதிக்கும் முன் உருவாக்கப்பட்ட AndroidManifest.xml-ல் android:usesCleartextTraffic உள்ளதா எனப் பாருங்கள், ஏனெனில் JS மட்டும் மீள்ஏற்றினால் பழைய மேனிஃபெஸ்ட் இருக்கும். செருகுநிரல் பதிப்பைத் திட்டம் இயங்கும் Expo SDK-வுடன் பொருத்துங்கள். செருகுநிரல் விருப்பங்கள் வெளியீடுகளுக்கு இடையே நகர்கின்றன, வேறு SDK-யிலிருந்து நகலெடுக்கப்பட்ட துணுக்கு அமைதியான செயலின்மைக்கு நம்பகமான மூலம்.

Bare ஓட்டம் மற்றும் குறுகிய விருப்பம்

bare React Native-க்கு சமமானது application உறுப்பில் android:usesCleartextTraffic, அல்லது பெயரிடப்பட்ட களங்களுக்கு மட்டும் cleartext-ஐ அனுமதிக்கும் பிணைய பாதுகாப்பு கட்டமைப்பு. களத்தால் வரையறுக்கப்பட்ட வடிவமே தேர்ந்தெடுக்க வேண்டியது, ஏனெனில் அது உள் API-ஐ அனுமதித்து மற்ற அனைத்தையும் HTTPS-ல் விடுகிறது. அது தனது சொந்த விலக்குப் பட்டியலையும் ஆவணப்படுத்துகிறது, மதிப்பாய்வாளர் கேட்பது அந்தப் பகுதியைப் பற்றியே.

இரு அணுகுமுறைகளில் எதுவும் நீங்கள் பெயரிடாத எதற்கும் தளத்தின் இயல்பை மாற்றாது.

முதலில் சாதன பதிவிலிருந்து நிரூபியுங்கள்

கட்டமைப்பைத் திருத்தும் முன் சரியான தோல்வியைப் பெறுங்கள். இணைக்கப்பட்ட சாதனத்தில் adb logcat தளத்தின் cleartext மறுப்பைக் காட்டி அதை எழுப்பிய கூறைப் பெயரிடுகிறது. நிராகரிக்கப்பட்ட சாக்கெட், தீர்க்க முடியாத பெயர் அல்லது தோல்வியடைந்த TLS கைக்குலுக்கல் முற்றிலும் வேறு இடத்தைச் சுட்டுகின்றன, cleartext-ஐ இயக்குவது செயலியை வீணாகவே பலவீனப்படுத்தும்.

பிறகு உற்பத்தியை நேர்மையாக வைத்திருங்கள். TLS வழங்க முடியாத ஆய்வக முனையத்திற்கு cleartext ஏற்றுக்கொள்ளத்தக்கது, நீங்கள் திட்டமிடக்கூடிய மிகக் குறுகிய காலத்திற்கு மட்டும். API தனியுரிம நெட்வொர்க்குக்குள் TLS-ஐ முடிக்க முடிந்தால், சான்றிதழைச் சாதனத்தின் நம்பிக்கைச் சேமிப்பகத்தில் வைத்து cleartext-ஐ முடக்கியே விடுங்கள், ஏனெனில் சுரங்கப்பாதை அதன் வெளியேறும் வரையிலான பாதையை மறையாக்குகிறது, அதற்கு அப்பால் எதையும் அல்ல.

முனையம் HTTPS-ல் பதிலளிக்கத் தொடங்கியதும் அனுமதியை நீக்கி, மீண்டும் பில்ட் செய்து, அதே அமர்வில் VPN-லும் சாதாரண Wi-Fi-லும் சோதியுங்கள். பெயர் தீர்வு இந்த இரு பாதைகளில் வேறுபடலாம், எது உண்மை சொல்கிறது என்பதை அந்த இணை மட்டுமே சொல்லும்.

தொடர்புடைய கட்டுரைகள்