SSL و HTTPS چیه؛ قفل کنار آدرس سایت رو چطور فعال کنم؟
SSL و HTTPS یعنی ارتباط بین مرورگر و سایتت رمزنگاری بشه. ببین قفل کنار آدرس دقیقاً چی میگه، چی نمیگه و چطور رایگان فعالش کنی.

قفل کنار آدرس سایت یعنی سایتت با HTTPS باز میشه و یه گواهی SSL داره. کار این گواهی یه چیزه: اطلاعاتی که بین مرورگر کاربر و سایتت رد و بدل میشه رمزنگاری بشه تا کسی وسط راه نتونه بخونه یا دستکاریش کنه. برای فعال کردنش یه گواهی (که رایگان هم پیدا میشه) روی جایی که سایتت روشه نصب میشه، همه آدرسها به نسخه https هدایت میشن و تمدیدش خودکار میشه.
همین. ولی چند تا نکته هست که اگه ندونی، یه روز صبح با یه صفحه قرمز «اتصال شما خصوصی نیست» روبهرو میشی. بریم سراغشون.
قفل کنار آدرس دقیقاً چی رو نشون میده؟
فرض کن داری برای کسی نامه میفرستی. بدون این قفل، نامهت مثل کارتپستاله: هر کسی که تو مسیر دستش بهش برسه (مثلاً یه وایفای عمومی تو کافه) میتونه بخونتش. با قفل، نامه تو یه پاکت دربستهست که فقط گیرنده بازش میکنه.
پس وقتی قفل هست، دو تا چیز رو میدونی:
- ارتباط رمزنگاریشدهست. رمز ورود، شماره تلفن یا متن فرمی که کاربر پر میکنه، تو مسیر خونده نمیشه.
- سایت همونیه که آدرسش میگه. گواهی تأیید میکنه که این جواب واقعاً از طرف همین دامنه اومده، نه از یه جای جعلی وسط راه.
از اینجا به بعد بهجای «گواهی SSL» میگیم «گواهی قفل»، چون اسم دقیقش برای کاری که میخوای بکنی مهم نیست.
قفل چی رو نشون نمیده؟
این مهمترین بخش این مطلبه: قفل فقط یعنی مسیر رمزنگاریشدهست، نه اینکه کل سایت امنه.
قفل هیچ کدوم از اینها رو تضمین نمیکنه:
- اینکه کد سایتت باگ یا راه نفوذ نداره.
- اینکه رمز پنل مدیریتت قویه.
- اینکه کلیدهای API و رمزهای دیتابیس جایی لو نرفتن.
- اینکه صاحب سایت آدم درستیه. سایتهای کلاهبرداری هم خیلی راحت قفل میگیرن.
اگه سایتت رو با AI ساختی، این نکته دوبرابر مهمه. قفل رو که گرفتی، هنوز باید چیزهایی مثل کلیدهای داخل کد رو خودت چک کنی. دربارهش تو چکلیست قبل از آنلاین کردن کد AI مفصل نوشتیم.
بدون قفل چی میشه؟
مرورگرهای امروزی با سایت بدون قفل خیلی مهربون نیستن:
- کنار آدرس مینویسن «Not secure» یا «ناامن». کاربری که این رو ببینه معمولاً به فرم خرید یا ثبتنامت اعتماد نمیکنه.
- اگه گواهی داشته باشی ولی منقضی شده باشه یا برای یه دامنه دیگه صادر شده باشه، اوضاع بدتره: مرورگر یه صفحه تمامقرمز نشون میده و کاربر باید خودش دستی رد بشه. تقریباً هیچکس رد نمیشه.
- بعضی قابلیتهای مرورگر (مثل گرفتن موقعیت مکانی یا نصب اپ روی گوشی) فقط روی
httpsکار میکنن.
یعنی قفل دیگه یه چیز اضافه نیست؛ حداقلِ لازمه.
چطور برای سایتم فعالش کنم؟
خبر خوب اینکه گواهی قفل رایگان هم وجود داره. معروفترینش Let's Encrypt هست که یه سازمان غیرانتفاعیه و گواهی رو خودکار صادر میکنه. خیلی از جاهایی که سایت روشون میزبانی میشه، همین رو با یه دکمه یا حتی بدون هیچ کاری برات فعال میکنن.
قبل از هر چیز، دامنهت باید درست به جایی که سایتت روشه وصل شده باشه. اگه این قسمت هنوز برات مبهمه، اول دامنه و DNS برای کسی که اپ ساخته رو بخون.
حالت اول: جایی که سایتت روشه خودش قفل میده
اگه سایتت روی یه سرویس آماده یا یه میزبانی مدیریتشدهست، معمولاً کافیه تو تنظیمات دامنهت گزینه قفل یا HTTPS رو پیدا کنی و روشنش کنی. بعدش:
- آدرس رو هم با
wwwهم بدون اون باز کن. هر دو باید قفل داشته باشن. - آدرس رو با
http://تایپ کن و ببین خودکار بهhttps://میره یا نه. - تو تنظیمات بگرد و مطمئن شو تمدید خودکاره.
حالت دوم: خودت یه سرور گرفتی
اگه خودت یه سرور لینوکسی داری و مثلاً nginx جلوی اپته، ابزار رایج برای Let's Encrypt اسمش certbot هست. بعد از نصبش، یه دستور مثل این هم گواهی میگیره و هم تنظیم nginx رو عوض میکنه:
sudo certbot --nginx -d example.com -d www.example.com
example.com رو با دامنه خودت عوض کن. موقع اجرا ازت میپرسه که آدرسهای http به https هدایت بشن یا نه. جوابت باید بله باشه.
بعدش حتماً تمدید رو امتحان کن:
sudo certbot renew --dry-run
این دستور واقعاً چیزی رو عوض نمیکنه، فقط نشون میده که وقتی موعد تمدید برسه کار میکنه یا نه. اگه خطا داد، همین الان درستش کن، نه روزی که گواهی منقضی شده.
اشتباههایی که بعد از فعال کردن قفل پیش میاد
یادت رفته تمدید خودکار باشه
گواهیهای رایگان عمر کوتاهی دارن، چند ماه یا حتی کمتر. این عمداً اینطوریه که همهچیز خودکار باشه. مشکل وقتیه که تمدید خودکار بیصدا از کار بیفته: مثلاً پورت ۸۰ رو بستی، دامنه رو جابهجا کردی یا سرور رو عوض کردی.
تاریخ انقضای گواهی رو یه جا یادداشت کن و یه یادآور چند روز قبلش بذار. با کلیک روی قفل تو مرورگر میتونی تاریخش رو ببینی.
قفل هست ولی خط خورده یا هشدار میده (Mixed Content)
این یکی خیلی رایجه، مخصوصاً تو کدی که AI نوشته. صفحهت با https باز میشه، ولی یه عکس، فونت یا اسکریپت داخلش هنوز با http:// صدا زده میشه. به این میگن محتوای ترکیبی (Mixed Content). مرورگر یا اون فایل رو اصلاً بار نمیکنه یا کنار قفل هشدار میده.
برای پیدا کردنش:
- صفحه رو باز کن و ابزار توسعهدهنده مرورگر رو بیار (کلید F12).
- تو تب Console دنبال پیغامهایی بگرد که کلمه Mixed Content دارن.
- تو کدت دنبال
http://بگرد و هر جا آدرس خودت یا یه سرویس بیرونیه، بهhttps://عوضش کن.
فقط یکی از آدرسها قفل داره
گواهی رو برای example.com گرفتی ولی www.example.com رو یادت رفته، یا برعکس. کاربری که با اون یکی آدرس بیاد، صفحه قرمز میبینه. موقع گرفتن گواهی، همه آدرسهایی که قراره باز بشن رو بده.
سوالهای پرتکرار
SSL با HTTPS چه فرقی داره؟
HTTPS همون آدرسیه که با https:// شروع میشه، یعنی نسخه رمزنگاریشده ارتباط. SSL (یا اسم جدیدترش TLS) گواهی و روشیه که این رمزنگاری رو ممکن میکنه. تو عمل هر دو به همون قفل کنار آدرس اشاره دارن.
گواهی رایگان با پولی فرق داره؟
از نظر رمزنگاری، نه. قفلی که کاربر میبینه همونه. فرق گواهیهای پولی بیشتر تو مدارک هویتی شرکت و پشتیبانیه که برای بیشتر سایتهای کوچیک لازم نیست.
قفل گرفتم، یعنی سایتم دیگه هک نمیشه؟
نه. قفل فقط مسیر بین کاربر و سایتت رو رمزنگاری میکنه. امنیت خود کد، رمزها و تنظیمات یه موضوع جداست و باید جدا بهش رسید.
چرا روی گوشی قفل هست ولی روی لپتاپ هشدار میاد؟
معمولاً یا کش مرورگره، یا یکی از دستگاهها داره آدرس دیگهای (با یا بدون www) رو باز میکنه، یا ساعت و تاریخ دستگاه اشتباهه. ساعت غلط باعث میشه مرورگر فکر کنه گواهی منقضی شده.
خلاصه
- قفل یعنی ارتباط بین مرورگر و سایتت رمزنگاریشدهست، نه اینکه سایتت امنه.
- بدون قفل، مرورگر به کاربر هشدار میده و اعتماد از همون اول کم میشه.
- گواهی رایگان مثل Let's Encrypt هست و خیلی جاها با یه دکمه فعال میشه.
- تمدید خودکار رو امتحان کن و تاریخ انقضا رو یادداشت کن.
- بعد از فعال کردن، دنبال Mixed Content و آدرسهای بدون قفل (با یا بدون
www) بگرد.
اگه هنوز کل مسیر آنلاین کردن برات مبهمه، از سایتم رو با AI ساختم، حالا چطور آنلاینش کنم شروع کن.