آدرس سایتهای امن با HTTPS شروع میشود و مرورگر کنار آن نماد قفل یا تنظیمات امن نشان میدهد. پشت این نشانه، گواهی SSL/TLS قرار دارد که ارتباط کاربر و سایت را رمزنگاری میکند. در این مقاله توضیح میدهیم SSL چیست، چطور کار میکند، چه انواعی دارد، چرا برای هر سایتی ضروری است و چطور آن را درست نصب و تنظیم کنیم.
فهرست مطالب
SSL چیست؟
SSL مخفف Secure Sockets Layer است؛ پروتکلی برای رمزنگاری ارتباط بین مرورگر و سرور. نسخههای SSL سالهاست منسوخ شدهاند و جانشین آن، TLS، امروز استفاده میشود؛ اما نام «SSL» همچنان برای اشاره به گواهیها رایج است. گواهی SSL یک فایل دیجیتال است که یک مرکز صدور معتبر (CA) صادر میکند و تأیید میکند کلید رمزنگاری سرور متعلق به همان دامنه است.
SSL چطور کار میکند؟
- مرورگر به سایت HTTPS وصل میشود و سرور گواهی خود را ارائه میدهد.
- مرورگر بررسی میکند گواهی معتبر، منقضینشده و برای همین دامنه صادر شده باشد و امضای یک CA مورد اعتماد را داشته باشد.
- مرورگر و سرور در فرایند Handshake روی یک کلید رمزنگاری موقت توافق میکنند.
- از این لحظه، همه دادهها، از رمز عبور و فرمها تا کوکیها، رمزنگاریشده منتقل میشوند.
نتیجه دو چیز است: محرمانگی (کسی در مسیر نمیتواند داده را بخواند یا تغییر دهد) و اصالت (کاربر مطمئن است با سایت واقعی صحبت میکند، نه یک سرور جعلی).
تفاوت HTTP و HTTPS
| ویژگی | HTTP | HTTPS |
|---|---|---|
| رمزنگاری | ندارد | دارد |
| تأیید هویت سایت | ندارد | دارد |
| نمایش در مرورگر | هشدار «Not secure» | بدون هشدار |
| پورت پیشفرض | 80 | 443 |
| HTTP/۲ و HTTP/۳ در مرورگرها | پشتیبانی نمیشود | پشتیبانی میشود |
| سئو | بدون مزیت | سیگنال مثبت رتبهبندی |
انواع گواهی SSL
بر اساس سطح اعتبارسنجی
- DV (Domain Validation): فقط کنترل دامنه تأیید میشود. صدور در چند دقیقه؛ برای اغلب سایتها کافی.
- OV (Organization Validation): هویت سازمان هم بررسی و در جزئیات گواهی درج میشود.
- EV (Extended Validation): بررسی دقیقتر سازمان. مرورگرهای امروزی دیگر نوار سبز یا نام سازمان را در نوار آدرس نشان نمیدهند و اطلاعات فقط در جزئیات گواهی دیده میشود.
از نظر قدرت رمزنگاری، تفاوتی بین DV، OV و EV نیست؛ تفاوت فقط در میزان بررسی هویت صاحب سایت است.
بر اساس تعداد دامنه
- تکدامنه: مثلاً
example.comو معمولاًwww.example.com. - Wildcard: همه زیردامنههای یک سطح، مثل
*.example.com. - چنددامنه (SAN): چند دامنه مختلف در یک گواهی.
رایگان یا پولی؟
گواهیهای رایگان مثل Let’s Encrypt از نوع DV هستند، رمزنگاری کامل دارند و با ابزارهای خودکار نصب و تمدید میشوند. برای اغلب سایتها، از جمله فروشگاهها، کاملاً کافیاند. گواهی پولی وقتی لازم است که به OV یا EV، پشتیبانی تجاری یا ضمانتنامه نیاز داشته باشید.
۵ دلیل ضرورت HTTPS
- امنیت دادهها: رمزهای عبور، اطلاعات فرمها و کوکیهای ورود رمزنگاری میشوند.
- اعتماد کاربران: مرورگرها سایتهای HTTP را «ناامن» نشان میدهند و فرمهای آن را با هشدار همراه میکنند.
- سئو: گوگل HTTPS را یک سیگنال رتبهبندی میداند.
- پرداخت آنلاین و APIها: درگاههای پرداخت و بسیاری از سرویسها فقط با HTTPS کار میکنند.
- قابلیتهای جدید وب: HTTP/۲، Service Workerها، موقعیت مکانی و بسیاری از امکانات مرورگر فقط روی HTTPS فعالاند.
نصب SSL روی هاست و سرور
در هاست cPanel
بیشتر هاستها با AutoSSL برای دامنههایی که به سرور اشاره میکنند، گواهی رایگان صادر و تمدید میکنند. وضعیت را در بخش SSL/TLS Status ببینید. اگر گواهی صادر نشده، معمولاً DNS دامنه هنوز به هاست اشاره نمیکند. راهنمای کامل پنل در آموزش cPanel.
روی VPS با Nginx یا Apache
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot گواهی را دریافت، پیکربندی وبسرور را اصلاح و تمدید خودکار را تنظیم میکند. برای Apache از بسته python3-certbot-apache و گزینه --apache استفاده کنید. تمدید خودکار را با sudo certbot renew --dry-run آزمایش کنید.
بعد از نصب؛ کارهایی که فراموش میشود
- ریدایرکت ۳۰۱ از HTTP به HTTPS تا همه بازدیدها و موتورهای جستجو به نسخه امن هدایت شوند.
- تغییر آدرس سایت در نرمافزار: در وردپرس، آدرس سایت را در تنظیمات به https تغییر دهید و لینکهای داخلی قدیمی را اصلاح کنید.
- رفع Mixed Content: تصاویر یا اسکریپتهایی که هنوز با http بارگذاری میشوند را اصلاح کنید.
- HSTS: پس از اطمینان از کارکرد کامل HTTPS، هدر HSTS را فعال کنید تا مرورگرها هرگز نسخه HTTP را باز نکنند.
- بهروزرسانی Search Console: نسخه HTTPS سایت را در Google Search Console ثبت کنید.
خطاهای رایج SSL
| خطا | علت رایج |
|---|---|
| NET::ERR_CERT_DATE_INVALID | گواهی منقضی شده یا ساعت دستگاه کاربر اشتباه است |
| NET::ERR_CERT_COMMON_NAME_INVALID | گواهی برای دامنه دیگری صادر شده؛ مثلاً www را پوشش نمیدهد |
| ناقص بودن زنجیره گواهی | گواهی میانی (Intermediate) روی سرور نصب نشده |
| Mixed Content | بارگذاری منابع با http در صفحه https |
| Too many redirects | تداخل ریدایرکت HTTPS بین CDN و سرور |
سوالات متداول
SSL چیست؟
پروتکلی (امروزه TLS) که ارتباط مرورگر و سرور را رمزنگاری و هویت سایت را تأیید میکند. گواهی SSL فایلی است که این هویت را اثبات میکند.
آیا SSL رایگان کافی است؟
برای بیشتر سایتها بله. رمزنگاری گواهی رایگان با گواهی پولی یکسان است؛ تفاوت در سطح اعتبارسنجی هویت و خدمات پشتیبانی است.
آیا SSL روی سئو اثر دارد؟
بله؛ HTTPS یک سیگنال رتبهبندی گوگل است و نبود آن با هشدار «ناامن» مرورگر، اعتماد و نرخ تبدیل را کاهش میدهد.
گواهی SSL چه مدت اعتبار دارد؟
گواهیهای Let’s Encrypt ۹۰ روز اعتبار دارند و خودکار تمدید میشوند. حداکثر مدت اعتبار گواهیهای پولی هم طبق قوانین صنعت بهتدریج در حال کاهش است؛ پس تمدید خودکار اهمیت بیشتری پیدا کرده است.
هاست با SSL رایگان
در هاستهای تراست هاست گواهی SSL رایگان بهصورت خودکار صادر و تمدید میشود. برای مطالعه بیشتر، راهنمای Mozilla درباره TLS را ببینید.