ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-26, Sunday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

CORS දෝෂයක්? ඔබේ කේතයට නොව, රිවර්ස් ප්‍රොක්සි සැකසීමේ ගැටලුව

CORS දෝෂයක්? ඔබේ කේතයට නොව, රිවර්ස් ප්‍රොක්සි සැකසීමේ ගැටලුව

ඔබේ වෙබ් යෙදුමට CORS (Cross-Origin Resource Sharing) දෝෂයක් පෙනී සිටිනවා නම්, එය සෘජුවම Express සර්වරයේ CORS සැකසුම වැරදි බවට අර්ථ නොවේ. අපි මෙතැනින් අලුත්ම පළපුරුදු කතාවක් හඳුන්වා දෙමු – බ්‍රවුසරයේ දෝෂය පෙන්වන්නේ, ඇත්තෙන්ම ඉල්ලීම සර්වරය දක්වා නොගිය නිසාද යන්න.

මෙම සිද්ධියෙහිදී, අපේ ෆ්‍රොන්ට්එන්ඩ් එක Apache reverse proxy එකක් හරහා Express API එකට ඇමතුම් කරන ලදි: Frontend → Browser → Apache → Express (server.js). බ්‍රවුසරය CORS දෝෂයක් පෙන්වා දුන්නාම, පළමු සිතුවම “CORS සැකසුම වැරදියි” යනුවෙන් පෙනී ගියේය. නමුත්, ඉල්ලීම server.js දක්වා පවා නොපැමිණ තිබුණි.

CORS නීතිය බ්‍රවුසරයම ක්‍රියාත්මක කරයි. Apache වැනි reverse proxy එකක් හෝ වෙනත් මැදපෙළක් අවශ්‍ය CORS හෙඩර් (header) එකක් නොදෙන්නේ නම්, බ්‍රවුසරය එය CORS දෝෂයක් ලෙස පෙන්වයි. එබැවින්, "බ්‍රවුසරයේ CORS දෝෂය" කියා කියන්නේ, ඉල්ලීම සර්වරයට ගොස් ඇති බවට තහවුරු නොවේ.

එමෙන්ම, අපි ඉගෙන ගත්තේ forwarded headers (X-Forwarded-Proto) ගැනද. Apache HTTPS ඉන්ග්‍රහණය කර, Express වෙත HTTP ලෙස ඉල්ලීම් යවයි. මෙහිදී, X-Forwarded-Proto: https හෙඩර් එක Express වෙත මාරු කර, මුල් පාරිභෝගිකයා HTTPS භාවිතා කර තිබෙන බව කියා දෙයි. Express තුළ app.set("trust proxy", 1) සකස් කිරීමෙන්, මෙම proxy තොරතුරු විශ්වාස කරගැනීමට හැකිවේ. මෙය cookie: { secure: true } වැනි විශේෂාංග සඳහා අත්‍යවශ්‍යය, හේතුවේ මුල් ඉල්ලීම ආරක්ෂිත (secure)ද යන්න සනිටුහන් කර ගැනීමට.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බොහෝ සංවර්ධකයින්, ආයතනික වෙබ් යෙදුම්, e‑commerce හෝ SaaS සේවා සඳහා reverse proxy භාවිතා කරති. මෙම ගැටළුව තේරුම් ගැනීමෙන්:

  • අපේ API ලේයර් වල අධිකාරි ප්‍රතිචාර (response) හරහා CORS හෙඩර් නිවැරදිව යැවීමට හැකියාව ලැබේ.
  • HTTPS termination සම්බන්ධයෙන් X‑Forwarded‑Proto හෙඩර් නිවැරදිව සැකසීමෙන්, secure cookie සහ authentication token නිවැරදිව ක්‍රියා කරයි.
  • ඩිබග් කිරීමේදී “බ්‍රවුසරයේ දෝෂය = සර්වරයේ ගැටළුව” යන සංකල්පය වැළැක්වීමෙන්, කාලය හා සම්පත් ඉතිරි කරගත හැකිය.

මෙම පළපුරුදු කතාව, ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයින්ට, ආරම්භකයින්ට, සහ ව්‍යාපාරික IT කණ්ඩායම් සඳහා ඉතා ප්‍රයෝජනවත්. ඉදිරි අයදුම්පත් සංවර්ධනයේදී, ඉල්ලීමේ සම්පූර්ණ මාර්ගය – DNS/TLS → Reverse Proxy → Application → Response → Browser – පරික්ෂා කර, වැරදි තැන හඳුනා ගැනීමට අවශ්‍ය වේ.

අවසානයේ, CORS දෝෂයක් බ්‍රවුසරයේ පෙනෙන ලක්ෂණයක් පමණක්; එය සර්වරය දක්වා ගමන් කරන්නේද, නැත්නම් මැදපෙළකින් වැලැක්වෙන්නේද කියා පරීක්ෂා කිරීම අත්‍යවශ්‍යය.

💡 ඔබේ වෙබ් යෙදුමේ CORS ගැටළුව දැන්ම හඳුනා ගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#CORS #Apache #Express #Debugging #WebDev