යමෙක් පොදු HAProxy සත්කාරකයක් පෞද්ගලික යෙදුමකට යොමු කර බ්‍රවුසරයට අනුගමනය කළ නොහැක්කේ ඇයිදැයි අසයි। ප්‍රොක්සිය සිය VPN හරහා යෙදුම වෙත ළඟා වේ, යළි-යොමුව Location ශීර්ෂයක් ආපසු දෙයි, පසුව බ්‍රවුසරය උමඟ තුළ පමණක් පවතින ලිපිනයක් උත්සාහ කරයි। පිටතින් පිටුව සරලව එල්ලී තිබේ। තීරණය වන්නේ කුමන පාර්ශ්වය දෙවන සම්බන්ධතාව විවෘත කරන්නේද යන්නයි, එයයි යළි-යොමුවක් බැකෙන්ඩ් එකකින් වෙන් කරන්නේ।

වින්‍යාසයේ එකම ලෙස පෙනෙන මාර්ග දෙකක්

යළි-යොමුවක් හුවමාරුව ප්‍රතිචාරයකින් අවසන් කරයි। ග්‍රාහකයා Location කියවා තමා සිටින තැනින්ම නව ඉල්ලීමක් ආරම්භ කරයි, එනම් ඔබ කිසිදා පාලනය නොකළ ජාලයෙනි। ප්‍රොක්සිය තවදුරටත් සම්බන්ධ නැත। ඉන් පසු සියල්ල ග්‍රාහකයාගේම DNS, මාර්ගය සහ විශ්වාසය මත රඳා පවතී, එබැවින් පරිශීලකයා බ්‍රවුසරය විවෘත කළ තැන අනුව ප්‍රතිඵලය වෙනස් වේ:

GET /app        client -> proxy
302 Location    proxy  -> client   (http://10.40.0.20:8080/)
GET /app        client -> 10.40.0.20:8080   client network, no route

ප්‍රොක්සි බැකෙන්ඩ් එක දෙවන පාදය සේවාදායක පැත්තේ තබා ගනී। ප්‍රොක්සිය දැනටමත් ඇති මාර්ගයෙන් එය විවෘත කරයි, ග්‍රාහකයා එකම පොදු නාමයක් සමඟ කතා කරමින් සිටී। උමඟ වැටුණොත්, ග්‍රාහකයාට අනුගමනය කළ නොහැකි URL එකක් වෙනුවට දෝෂයක් ලැබේ। මෙම වෙනසයි අසාර්ථකත්වය හඳුනාගත හැකි කරන්නේ, දෝෂය පිටකිරීම් ඇති තැනම දිස්වන බැවිනි:

GET /app        client -> proxy
GET /app        proxy  -> 10.40.0.20:8080   over the VPN
response        proxy  -> client

HAProxy හි යළි-යොමු ලේඛනය හරියටම මෙම සීමාව අඳිනවා: ග්‍රාහකයාට යළි-යොමුවකින් පිළිතුරු දීම ඉල්ලීම බැකෙන්ඩ් එකකට යැවීමෙන් වෙනස් ක්‍රියාවකි। නියම දෙකම වින්‍යාස ගොනුවක පේළි කිහිපයක පරතරයකින් පිහිටා ඇති අතර කිසිසේත් සමානව හැසිරෙන්නේ නැත। එකක් ඉල්ලීම අවසන් කරයි, අනෙක ප්‍රොක්සියට හිමි දෙවන ඉල්ලීමක් ආරම්භ කරයි।

බ්‍රවුසරයට අවශ්‍ය නමුත් සේවාදායකයේ VPN එයට නොදෙන දේ

බ්‍රවුසරයේම ඉල්ලීමට නොතිබිය හැකි කරුණු හතරක් අවශ්‍යයි: පෞද්ගලික නාමයට DNS පිළිතුරක්, එම ලිපිනයට මාර්ගයක්, සවන් දෙන සේවාවට ළඟා වීමට අවසරයක් සහ එම සේවාව ඉදිරිපත් කරන සහතිකයට විශ්වාසයක්। ප්‍රොක්සි සත්කාරකයට සිය උමඟ හරහා හතරම ඇත। ඒවායින් කිසිවක් එම උමඟේ කිසිදා නොසිටි ග්‍රාහකයාට මාරු නොවේ, මන්ද උමඟ යනු URL හි ගුණාංගයක් නොව සත්කාරකයේ ගුණාංගයක් වන බැවිනි।

මෙම පරතරය «පාහේ වැඩ කරයි» යන ලක්ෂණය පැහැදිලි කරයි। පළමු ඉල්ලීම සාර්ථක වේ, ලිපින තීරුව වෙනස් වේ, පසුව සම්බන්ධතාව එල්ලී හෝ අසාර්ථක වේ, ප්‍රොක්සිය සෑම විටම නිරෝගීව පවතී। ප්‍රොක්සි වින්‍යාසයේ කිසිවක් කැඩී නැත, එය සකස් කිරීම 10.40.0.20 වෙත මාර්ගයක් නොමැති ග්‍රාහකයාට උදව් කළ නොහැක। එක්කෝ ග්‍රාහකයාට මාර්ගයක් ලැබිය යුතුය, නැතහොත් ප්‍රොක්සිය ඔහු වෙනුවට සම්බන්ධතාව ගොඩනගන්නට ඕනෑ।

ප්‍රොක්සියට පමණක් යෙදුමට ළඟා විය හැකි විට

යළි-යොමු ක්‍රියාව ඉවත් කර එම ඉල්ලීම් පෞද්ගලික ලිපිනයට යොමු වන බැකෙන්ඩ් එකකට යවන්න। ඉදිරිපස සිය පොදු නාමය තබා ගනී, ඉල්ලීම ඇත්තටම යන්නේ කොහේද යන්න බැකෙන්ඩ් එක තීරණය කරයි। ග්‍රාහකයාගේ මාර්ගයේ කිසිවක් වෙනස් නොවේ, මන්ද ප්‍රොක්සිය ගමනාන්තයක් විස්තර කිරීම නවත්වා තමාම ගමනාන්තය බවට පත් වන බැවිනි। අභ්‍යන්තර 8080 වරායේ හිතාමතා සවන් දෙන යෙදුමකට සේවාදායක කොටස කෙටිය:

backend private_app
    mode http
    option httpchk GET /health
    server app1 10.40.0.20:8080 check

එම කොටස ප්‍රොක්සියේ මාර්ගගත කිරීමේ වගුව පිළිබඳ ප්‍රකාශයක් ලෙස කියවන්න: 10.40.0.20 ප්‍රොක්සි සත්කාරකයෙන්ම ළඟා විය හැකි විය යුතුය, මෙහි එයින් අදහස් වන්නේ පෙරනිමි මාර්ගයෙන් නොව VPN අතුරුමුහුණත හරහාය। check යන මූල පදය එම මාර්ගය කරන දේ පමණක් වාර්තා කරයි, සෞඛ්‍ය මාර්ගය යෙදුමේ පැවතිය යුතුය, එසේ නොමැති නම් සෑම පරීක්ෂණයක්ම සේවාදායකය අක්‍රීය ලෙස සලකුණු කරයි। සාර්ථක පරීක්ෂණයක් ග්‍රාහකයා ගැන කිසිවක් ඔප්පු නොකරයි, බැකෙන්ඩ් එක භාවිත කළ හැක්කේ කාටද යන්න තීරණය කරන ප්‍රතිපත්තිය ප්‍රතිස්ථාපනය නොකරයි।

මෙම කොටස සම්පූර්ණ ඉදිරිපසක් නොවේ। සවන්දෙන්නා, සත්‍යාපනය, අවසර ලත් සත්කාරක සහ මාර්ග තේරීම, යෙදුමට කවුරුන්ට ළඟා විය හැකිද යන්න තීරණය කරන නියමය තබා ගන්න। බැකෙන්ඩ් ප්‍රොටෝකෝලයද ගැළපෙන්න, මන්ද HTTPS බැකෙන්ඩ් එකකට සහතික සත්‍යාපනය සහ සේවාදායක අනන්‍යතා වින්‍යාසය අවශ්‍ය වන අතර එම පරීක්ෂාව මඟ හැරීම පෞද්ගලික සම්බන්ධතාවක් සත්‍යාපනය නොකළ එකක් බවට පත් කරයි।

ජයග්‍රහණය ප්‍රකාශ කිරීමට පෙර ආපසු මාර්ගය දිශා දෙකෙන්ම තහවුරු කරන්න। යෙදුම දැන් ප්‍රොක්සියෙන් එන සම්බන්ධතාවක් දකී, එබැවින් එහි පිටකිරීම් සහ ග්‍රාහක ලිපිනය පිළිබඳ ඕනෑම මෙටාදත්තයක්, ඔබ වෙනත් ලෙස සකසා නොගත්තොත්, ප්‍රොක්සිය විස්තර කරයි। අනන්‍යතාව සහ යවන ලද ලිපින හසුරුවන ආකාරය තීරණය කර එම තීරණය උපකල්පනය නොකර පරීක්ෂා කරන්න।

යෙදුමේම යළි-යොමු තවමත් ඇතුළට යොමු වේ

පළමු ඉල්ලීම යැවීම ඒකාබද්ධ කිරීමේ අඩක් පමණි। යෙදුම නිරපේක්ෂ යළි-යොමු, දෘඩ කේතිත සම්පත් URL හෝ ඇතුළත තමා දන්නා නාමයට සීමා වූ කුකී නිකුත් කළ හැක, ඒවායින් එකක් බැගින් බ්‍රවුසරය එයට ළඟා විය නොහැකි ලිපිනයකට ආපසු යවයි। අභ්‍යන්තර නාමයට යොමු වන Location ශීර්ෂය මුල් ගැටලුව හා සමානව පෙනේ, එබැවින් එය ප්‍රොක්සි අසාර්ථකත්වයක් ලෙස වැරදි ලෙස හඳුනා ගැනේ।

යෙදුමේ ලේඛනගත බාහිර URL සහ එහි ප්‍රොක්සි විකල්ප සකසා, පසුව Host ශීර්ෂය අතථ්‍ය සත්කාරකය සහ සහතික අපේක්ෂාවන් හා ගැළපෙන්න සකසන්න। අභ්‍යන්තර නාමයට සීමා වූ කුකී පොදු නාමය හරහා ආපසු නොඑයි, ඉන් පසු එන පිවිසුම් ලූපය සත්‍යාපන දෝෂයක් ලෙස කියවේ। පළමුව බාහිර URL වෙනස් කර, පිරිසිදු බ්‍රවුසර පැතිකඩකින් නැවත පරීක්ෂා කර, අඩක් මාරු වූ සැකසුම් සාර්ථක වන පිවිසුමක් සහ වහාම මිය යන සැසියක් ලබා දෙනු ඇතැයි අපේක්ෂා කරන්න।

යවන ලද මෙටාදත්ත විශ්වාස කරන්න නියමිත ප්‍රොක්සියෙන් පමණි। ඕනෑම ග්‍රාහකයෙකුට සැකසිය හැකි ශීර්ෂයක් කිසිදා අවසර අගයක් නොවිය යුතුය, එසේ නොමැති නම් ප්‍රොක්සිය ඇමතුම්කරුවෙකුට වෙනත් අයෙකුගේ අනන්‍යතාව ඉල්ලා සිටීමේ මාර්ගයක් බවට පත් වේ। එම නියමය යළි-යොමු ප්‍රශ්නයෙන් ස්වාධීන වන අතර පසුකාලීන ඕනෑම නැවත නිර්මාණයකදී ජීවත් වේ।

ඔබට ඇත්තටම ඇත්තේ කුමන නිර්මාණයද තීරණය කරන්න

සියලුම පරිශීලකයින්ට දැනටමත් අවසර ලත් VPN ප්‍රවේශය තිබේ නම්, පෞද්ගලික URL එකකට යළි-යොමුවක් හිතාමතා කරන ලද නිර්මාණයක් විය හැක। එම අවශ්‍යතාව උපකල්පනය නොකර පැහැදිලිව තහවුරු කරන්න, මන්ද එම නිර්මාණ දෙක සම්පූර්ණයෙන්ම වෙනස් ජනකායන්ට සේවය කරන බැවිනි। ඉන් එකක් හෝටල් ජාලයකින් කිසිසේත් වැඩ නොකරයි, අනෙක පොදු URL පූරණය කළ හැකි ඕනෑම කෙනෙකුට යෙදුම නිරාවරණය කරයි। එම වෙනස නිර්මාණ සටහනේ තිබිය යුතුය।

පරිශීලකයින්ගේ ජාලයේ යන්ත්‍රයකින් පරීක්ෂාව ධාවනය කර බ්‍රවුසරය කරන සෑම පිම්මක්ම අනුගමනය කරන්න, පළමු ප්‍රතිචාරය පමණක් නොව। ලිපින තීරුව සහ සෑම ඊළඟ ඉල්ලීමක්ම බලා සිටින්න, මන්ද සම්පත් ටැගයක ඇති එකම නිරපේක්ෂ URL පළමු පිම්ම පසු කළ ගැලීමක් බිඳීමට ප්‍රමාණවත්ය। පිවිසුම පොදු නාමය හරහා ක්‍රියා කළ යුතුය, ප්‍රතික්ෂේප කළ යුතු සම්පත් ප්‍රතික්ෂේප වූ ලෙසම තිබිය යුතුය।

ප්‍රතිලෝම ප්‍රොක්සියක් ප්‍රකාශයට පත් කිරීම වෙනම ප්‍රවේශ තීරණයකි, ප්‍රොක්සියේම VPN එක එහි පොදු URL පූරණය කළ හැකි සැමට විනිවිද පෙනෙන ලෙස දිගු කිරීමක් නොවේ। රූප සටහනක දෙකම එකම ලෙස පෙනේ, ඇතුළට අවසර ලත් කවුරුන්ද යන්නෙන් වෙනස් වේ। එම ප්‍රශ්නය යෙදවීමෙන් පසු තීරණය කිරීම අභ්‍යන්තර යෙදුමක් අහම්බෙන් පොදු එකක් වීමේ මාර්ගයයි।

ඔබ ගොඩනැගුවේ කුමක්ද සහ ඇයිද යන්න ලියා තබන්න। වින්‍යාසය ස්පර්ශ කරන ඊළඟ පුද්ගලයා අනෙක උපකල්පනය කරයි। පහසුව සඳහා එකතු කළ එකම යළි-යොමුවක් මුල් අසාර්ථකත්වය නැවත නිර්මාණය කිරීමට ප්‍රමාණවත් වන අතර ලක්ෂණය ඔබ දැන් නිවැරදි කළ දෙයට හරියටම සමාන වනු ඇත।

අදාළ ලිපි