SSL _ Introduction
🔐 SSL (Secure Sockets Layer) হলো একটি নিরাপত্তা প্রোটোকল যা ইন্টারনেটের মাধ্যমে তথ্য আদান-প্রদানে এনক্রিপশন যুক্ত করে নিরাপত্তা নিশ্চিত করে। যদিও বর্তমানে SSL এর আপডেট ভার্সন TLS (Transport Layer Security) ব্যবহার হয়, কিন্তু এখনো সবাই SSL নামেই বেশি চেনে।
✅ SSL এর কাজ কী?
SSL মূলত ব্রাউজার এবং সার্ভারের মধ্যে তথ্য এনক্রিপ্ট করে, যাতে তৃতীয় পক্ষ (যেমন হ্যাকার) তথ্য পড়তে বা পরিবর্তন করতে না পারে।
✅ SSL ব্যবহারের কারণ:
-
ডেটা সুরক্ষা: ইউজারের তথ্য (যেমন পাসওয়ার্ড, ক্রেডিট কার্ড, ইত্যাদি) এনক্রিপ্ট করে।
-
বিশ্বাসযোগ্যতা: ব্রাউজারের পাশে তালা চিহ্ন (🔒) ও HTTPS দিয়ে ইউজার বুঝতে পারে যে সাইটটি নিরাপদ।
-
SEO তে সাহায্য: গুগল SSL যুক্ত সাইটগুলোকে র্যাংকে অগ্রাধিকার দেয়।
-
Authentication: সার্ভার আসল কিনা তা নিশ্চিত করে।
✅ SSL এর সুবিধা (Advantages):
ডেটা ট্রান্সফার নিরাপদ করে তোলে।
-
ইউজার ট্রাস্ট বৃদ্ধি করে।
-
ব্রাউজার ও সার্ভারের মধ্যে নিরাপদ কানেকশন তৈরি করে।
-
ফিশিং ও ম্যান-ইন-দ্য-মিডল অ্যাটাক থেকে রক্ষা করে।
⚠️ SSL এর অসুবিধা (Disadvantages):
সার্টিফিকেট পাওয়া এবং renew করা কিছুটা ব্যয়বহুল হতে পারে (যদিও Let's Encrypt ফ্রি সার্টিফিকেট দেয়)।
-
SSL এনক্রিপশন প্রসেস সার্ভারের উপর অতিরিক্ত লোড সৃষ্টি করতে পারে।
-
কনফিগারেশন সঠিকভাবে না করলে সার্ভার এক্সপোজড থাকতে পারে।
1. let https = require("https");
let myServer = https.createServer({key , cert} ,app);
2 . let http = require("http");
let myServer = http.createServer(app);
🔹 ১ম কোড:
let https = require("https");
let myServer = https.createServer(app);
➡️ এখানে তুমি একটি HTTPS সার্ভার তৈরি করছো। অর্থাৎ, এই সার্ভার SSL/HTTPS ব্যবহার করবে — যেটা নিরাপদ ডেটা ট্রান্সফার নিশ্চিত করে।
✅ এই সার্ভার চালানোর জন্য তোমাকে অবশ্যই SSL সার্টিফিকেট এবং প্রাইভেট কি দিতে হবে:
let fs = require("fs");
let httpsOptions = {
key: fs.readFileSync("path/to/private.key"),
cert: fs.readFileSync("path/to/certificate.crt")
};
let myServer = https.createServer(httpsOptions, app);
➡️ এই সার্ভার https://yourdomain.com
এ অ্যাক্সেস করা যাবে।
🔸 ২য় কোড:
let http = require("http");
let myServer = http.createServer(app);
➡️ এখানে তুমি একটি HTTP সার্ভার তৈরি করছো, যেটা unencrypted — অর্থাৎ, এখানে ডেটা এনক্রিপ্টেড নয়, হ্যাকার চাইলে মাঝপথে ডেটা পড়তে পারে।
➡️ এই সার্ভার http://yourdomain.com
এ চলে।
🔍 মূল পার্থক্য সংক্ষেপে:
দিক | HTTP | HTTPS |
---|---|---|
নিরাপত্তা | ❌ নিরাপদ না | ✅ নিরাপদ (SSL ব্যবহার করে) |
ডেটা এনক্রিপশন | ❌ না | ✅ হ্যাঁ |
সার্টিফিকেট লাগে? | ❌ না | ✅ হ্যাঁ (SSL cert & key) |
URL শুরু | http:// |
https:// |
ব্যবহার | সাধারণ/টেস্টিং | প্রোডাকশন ও সংবেদনশীল ডেটা ট্রান্সফার |