خانه امنیت و SSL فعال‌سازی HTTPS روی سرور: راهنمای کامل نصب SSL (۲۰۲۵)
تاریخ به‌روزرسانی : 1397/09/15
به قلم : شهاب بیرامی
زمان مطالعه : 10 دقیقه

فعال‌سازی HTTPS روی سرور: راهنمای کامل نصب SSL در سال ۱۴۰۵

نحوه فعال کردن HTTPS روی سرور - آموزش نصب گواهی SSL

📌 خلاصه مطلب (TL;DR)

  • HTTPS چیست؟ پروتکل امن انتقال داده که با رمزنگاری SSL/TLS، اطلاعات بین کاربر و سرور را محافظت می‌کند.
  • چرا مهم است؟ امنیت داده‌ها، اعتماد کاربران، الزام گوگل برای سئو، و جلوگیری از هشدار «ناامن» در مرورگرها.
  • راه‌حل رایگان: استفاده از Let's Encrypt با ابزار Certbot برای دریافت گواهی رایگان.
  • زمان نصب: در Nginx/Apache حدود ۱۰ دقیقه، در cPanel/DirectAdmin فقط چند کلیک.

🔍 تشخیص سریع: کدام روش برای شما مناسب است؟

قدم اول: نوع سرور یا هاست خود را مشخص کنید:

قدم دوم: نوع گواهی مورد نیاز را انتخاب کنید:

  • 🔸 وبلاگ/سایت شخصی: گواهی DV رایگان (Let's Encrypt) کافی است
  • 🔸 فروشگاه آنلاین: گواهی OV یا EV پولی توصیه می‌شود
  • 🔸 بانک/مالی: گواهی EV الزامی است

در دنیای امروز، فعال‌سازی HTTPS دیگر یک گزینه نیست، بلکه یک الزام است. از سال ۲۰۱۸، گوگل کروم تمام سایت‌های بدون HTTPS را «ناامن» علامت‌گذاری می‌کند. علاوه بر این، HTTPS یک فاکتور مهم رتبه‌بندی در گوگل است و بدون آن، شانس حضور در صفحه اول نتایج جستجو کاهش می‌یابد. در این راهنمای جامع، نحوه نصب گواهی SSL و فعال‌سازی HTTPS را روی انواع سرورها به زبان ساده آموزش می‌دهیم.

جدول مقایسه: SSL رایگان در مقابل SSL پولی

ویژگی SSL رایگان (Let's Encrypt) SSL پولی (DV/OV/EV)
قیمت کاملاً رایگان ۵۰۰,۰۰۰ تا ۱۵,۰۰۰,۰۰۰ تومان/سال
نوع اعتبارسنجی فقط Domain Validation (DV) DV، OV، یا EV
مدت اعتبار ۹۰ روز (تمدید خودکار) ۱ تا ۲ سال
گارانتی مالی ندارد ۱۰,۰۰۰ تا ۱,۵۰۰,۰۰۰ دلار
نمایش نام شرکت خیر بله (در EV و OV)
پشتیبانی انجمن و مستندات پشتیبانی ۲۴/۷
مناسب برای وبلاگ، سایت شخصی، استارتاپ فروشگاه آنلاین، بانک، سازمان

HTTPS چیست و چرا به آن نیاز دارید؟

HTTPS (Hypertext Transfer Protocol Secure) نسخه امن پروتکل HTTP است که با استفاده از رمزنگاری SSL/TLS، داده‌های منتقل‌شده بین مرورگر کاربر و سرور را محافظت می‌کند. این رمزنگاری مانع از شنود اطلاعات حساس مانند رمز عبور، اطلاعات کارت بانکی و داده‌های شخصی می‌شود.

۵ دلیل اصلی برای فعال‌سازی HTTPS:

  • ۱. امنیت داده‌ها: جلوگیری از سرقت اطلاعات در شبکه‌های عمومی و حملات Man-in-the-Middle
  • ۲. اعتماد کاربران: نمایش قفل سبز در مرورگر و جلوگیری از هشدار «ناامن»
  • ۳. بهبود سئو: گوگل HTTPS را به عنوان فاکتور رتبه‌بندی در نظر می‌گیرد
  • ۴. الزام قانونی: برای سایت‌هایی که اطلاعات شخصی جمع‌آوری می‌کنند (GDPR)
  • ۵. قابلیت‌های جدید: بسیاری از APIهای مدرن مرورگر فقط در HTTPS کار می‌کنند

مقایسه HTTP و HTTPS در مرورگر

انواع گواهی SSL: کدام را انتخاب کنید؟

گواهی‌های SSL بر اساس سطح اعتبارسنجی به سه دسته تقسیم می‌شوند:

۱. گواهی DV (Domain Validation)

ساده‌ترین و سریع‌ترین نوع گواهی که فقط مالکیت دامنه را تأیید می‌کند. صدور در کمتر از ۱ ساعت انجام می‌شود و برای وبلاگ‌ها و سایت‌های شخصی مناسب است. Let's Encrypt گواهی DV رایگان ارائه می‌دهد.

۲. گواهی OV (Organization Validation)

علاوه بر دامنه، هویت سازمان نیز تأیید می‌شود. فرآیند صدور ۱ تا ۳ روز طول می‌کشد و برای شرکت‌ها و فروشگاه‌های آنلاین توصیه می‌شود.

۳. گواهی EV (Extended Validation)

بالاترین سطح اعتبارسنجی با ۱۶ مرحله بررسی. نام سازمان در نوار آدرس نمایش داده می‌شود و برای بانک‌ها، سایت‌های مالی و e-commerce بزرگ الزامی است.

💡 نکته: طبق آمار سال ۲۰۲۵، حدود ۸۰٪ گواهی‌های صادرشده از نوع DV هستند و Let's Encrypt به تنهایی ۶۳٪ سهم بازار را در اختیار دارد. برای اکثر سایت‌ها، گواهی DV رایگان کافی است.

نصب SSL با Let's Encrypt در Nginx (گام‌به‌گام)

اگر از سرور مجازی (VPS) یا سرور اختصاصی با وب‌سرور Nginx استفاده می‌کنید، این آموزش برای شماست:

پیش‌نیازها:

  • سرور با Ubuntu 20.04/22.04 یا Debian 11/12
  • دامنه‌ای که به IP سرور اشاره می‌کند
  • Nginx نصب و در حال اجرا
  • پورت‌های ۸۰ و ۴۴۳ باز در فایروال

مرحله ۱: نصب Certbot

# به‌روزرسانی پکیج‌ها و نصب Certbot

sudo apt update

sudo apt install certbot python3-certbot-nginx -y

مرحله ۲: دریافت گواهی SSL

# دریافت و نصب خودکار گواهی برای دامنه

sudo certbot --nginx -d example.com -d www.example.com

# برای چند ساب‌دامین:

sudo certbot --nginx -d example.com -d www.example.com -d api.example.com

مرحله ۳: تنظیم تمدید خودکار

# تست تمدید خودکار

sudo certbot renew --dry-run

# بررسی تایمر سیستم

systemctl list-timers | grep certbot

Certbot به صورت خودکار یک تایمر systemd ایجاد می‌کند که هر روز دو بار تمدید را بررسی می‌کند.

نصب SSL با Let's Encrypt در Apache (گام‌به‌گام)

برای سرورهایی که از وب‌سرور Apache استفاده می‌کنند:

مرحله ۱: نصب Certbot برای Apache

# نصب Certbot با پلاگین Apache

sudo apt update

sudo apt install certbot python3-certbot-apache -y

مرحله ۲: دریافت و نصب گواهی

# نصب خودکار با Apache

sudo certbot --apache -d example.com -d www.example.com

# تأیید نصب موفق

sudo apache2ctl configtest

sudo systemctl reload apache2

مرحله ۳: فعال‌سازی Redirect خودکار به HTTPS

Certbot معمولاً این کار را انجام می‌دهد، اما برای اطمینان، این خطوط را به فایل .htaccess اضافه کنید:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

نصب SSL در cPanel (روش ساده)

اگر از هاست اشتراکی با cPanel استفاده می‌کنید، فعال‌سازی SSL بسیار ساده است:

روش ۱: AutoSSL (توصیه‌شده)

  1. وارد cPanel شوید
  2. به بخش Security → SSL/TLS Status بروید
  3. روی Run AutoSSL کلیک کنید
  4. چند دقیقه صبر کنید تا گواهی صادر شود

روش ۲: Let's Encrypt دستی

  1. به بخش Security → Let's Encrypt SSL بروید
  2. دامنه مورد نظر را انتخاب کنید
  3. روی Issue کلیک کنید
  4. گواهی به صورت خودکار نصب و تمدید می‌شود

⚠️ توجه: در برخی هاست‌ها، Let's Encrypt به صورت پیش‌فرض فعال نیست. اگر این گزینه را نمی‌بینید، با پشتیبانی هاست تماس بگیرید یا از گواهی SSL برتینا استفاده کنید.

نصب SSL در DirectAdmin

برای کاربران DirectAdmin، فرآیند نصب Let's Encrypt بسیار ساده است:

از طریق پنل مدیریت:

  1. وارد DirectAdmin شوید
  2. به Account Manager → SSL Certificates بروید
  3. گزینه Get automatic certificate from ACME Provider را انتخاب کنید
  4. در منوی ACME Provider، گزینه Let's Encrypt را انتخاب کنید
  5. روی Save کلیک کنید

DirectAdmin به صورت خودکار ۳۰ روز قبل از انقضا، گواهی را تمدید می‌کند.

ریدایرکت HTTP به HTTPS (الزامی)

پس از نصب گواهی SSL، باید تمام درخواست‌های HTTP را به HTTPS هدایت کنید:

در Nginx:

# در فایل /etc/nginx/sites-available/default

server {

listen 80;

server_name example.com www.example.com;

return 301 https://$server_name$request_uri;

}

در وردپرس:

در فایل wp-config.php این خطوط را اضافه کنید:

define('FORCE_SSL_ADMIN', true);

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {

$_SERVER['HTTPS'] = 'on';

}

خطاهای رایج SSL و نحوه رفع آن‌ها

۱. خطای Mixed Content

این خطا زمانی رخ می‌دهد که صفحه HTTPS، منابعی (تصاویر، اسکریپت‌ها) را از HTTP بارگذاری می‌کند.

راه‌حل:

  • تمام URLهای http:// را به https:// تغییر دهید
  • در وردپرس از افزونه Really Simple SSL استفاده کنید
  • در DevTools مرورگر (Console)، منابع ناامن را شناسایی کنید

۲. خطای گواهی منقضی‌شده

راه‌حل: تمدید دستی با دستور:

sudo certbot renew --force-renewal

sudo systemctl reload nginx

۳. خطای «این اتصال امن نیست»

دلایل رایج:

  • گواهی برای دامنه اشتباه صادر شده
  • تاریخ/ساعت سرور یا کلاینت اشتباه است
  • زنجیره گواهی ناقص است

۴. خطای Redirect Loop

اگر صفحه به صورت بی‌پایان ریدایرکت می‌شود:

  • تنظیمات Cloudflare را بررسی کنید (SSL Mode: Full Strict)
  • قوانین ریدایرکت تکراری را حذف کنید

بهترین روش‌ها برای امنیت SSL در سال ۱۴۰۵

  • فعال‌سازی HSTS: هدر Strict-Transport-Security: max-age=31536000 را اضافه کنید
  • OCSP Stapling: برای افزایش سرعت handshake TLS
  • غیرفعال کردن TLS 1.0/1.1: فقط TLS 1.2 و 1.3 را فعال نگه دارید
  • تست امنیت: سایت را در SSL Labs تست کنید (هدف: رتبه A+)
  • پشتیبان‌گیری: از پوشه /etc/letsencrypt/ بکاپ بگیرید

سوالات متداول درباره فعال‌سازی HTTPS

آیا گواهی SSL رایگان امن است؟

بله، گواهی‌های رایگان Let's Encrypt از نظر رمزنگاری کاملاً به اندازه گواهی‌های پولی امن هستند. تفاوت اصلی در سطح اعتبارسنجی (فقط DV)، عدم گارانتی مالی، و نیاز به تمدید هر ۹۰ روز است. برای اکثر وب‌سایت‌ها، Let's Encrypt کافی و ایمن است.

چقدر طول می‌کشد تا گواهی SSL صادر شود؟

گواهی DV (شامل Let's Encrypt) در عرض چند دقیقه صادر می‌شود. گواهی OV معمولاً ۱ تا ۳ روز کاری نیاز دارد. گواهی EV که شامل ۱۶ مرحله بررسی است، ممکن است ۱ تا ۲ هفته زمان ببرد.

آیا نصب SSL روی سئوی سایت تأثیر دارد؟

بله، HTTPS یک فاکتور رتبه‌بندی مستقیم در گوگل است. سایت‌های بدون SSL ممکن است در نتایج جستجو پایین‌تر نمایش داده شوند. همچنین، گوگل کروم سایت‌های HTTP را «ناامن» علامت‌گذاری می‌کند که نرخ پرش (Bounce Rate) را افزایش می‌دهد.

آیا به IP اختصاصی برای SSL نیاز دارم؟

خیر، با فناوری SNI (Server Name Indication) که از سال ۲۰۱۰ استاندارد شده، دیگر نیازی به IP اختصاصی برای SSL نیست. تقریباً تمام مرورگرهای مدرن از SNI پشتیبانی می‌کنند.

چگونه گواهی Wildcard برای ساب‌دامین‌ها بگیرم؟

برای گواهی Wildcard (مثلاً *.example.com) باید از DNS Challenge استفاده کنید. دستور Certbot: certbot certonly --manual --preferred-challenges dns -d example.com -d '*.example.com'. این نوع گواهی به تمام ساب‌دامین‌ها اعمال می‌شود.

تفاوت TLS و SSL چیست؟

TLS (Transport Layer Security) نسخه جدیدتر و امن‌تر SSL است. SSL 3.0 آخرین نسخه بود و TLS 1.0 جایگزین آن شد. امروزه فقط TLS 1.2 و TLS 1.3 امن محسوب می‌شوند. وقتی می‌گوییم «گواهی SSL»، در واقع منظور گواهی TLS است.

اگر گواهی SSL منقضی شود چه اتفاقی می‌افتد؟

مرورگرها یک صفحه هشدار قرمز نمایش می‌دهند و کاربران باید به صورت دستی ادامه دهند. این باعث از دست دادن اعتماد کاربران، کاهش ترافیک، و آسیب به سئو می‌شود. برای جلوگیری، تمدید خودکار را با Certbot تنظیم کنید.

💼 این راهنما بر اساس تجربه تیم فنی برتینا در نصب و پیکربندی هزاران گواهی SSL برای مشتریان هاست، سرور مجازی و سرور اختصاصی تهیه شده است. اگر در فرآیند نصب با مشکلی مواجه شدید، تیم پشتیبانی ۲۴/۷ ما آماده کمک است.

جمع‌بندی: HTTPS را همین امروز فعال کنید!

فعال‌سازی HTTPS دیگر یک انتخاب نیست، بلکه یک الزام برای هر وب‌سایت است. با ابزارهای رایگان مانند Let's Encrypt و Certbot، می‌توانید در کمتر از ۱۰ دقیقه گواهی SSL را نصب کنید. اگر از هاست اشتراکی استفاده می‌کنید، فقط کافی است AutoSSL را فعال کنید.

خلاصه اقدامات:

  • ✅ گواهی SSL را نصب کنید (Let's Encrypt رایگان است)
  • ✅ ریدایرکت ۳۰۱ از HTTP به HTTPS تنظیم کنید
  • ✅ خطاهای Mixed Content را برطرف کنید
  • ✅ تمدید خودکار را فعال کنید
  • ✅ با SSL Labs سایت را تست کنید

برای خرید گواهی SSL با پشتیبانی حرفه‌ای، به صفحه گواهی SSL برتینا مراجعه کنید. همچنین اگر به سروری با قابلیت نصب آسان SSL نیاز دارید، سرور مجازی یا هاست لینوکس برتینا را بررسی کنید.

🔒 گواهی SSL با نصب رایگان

SSL رایگان + پشتیبانی فنی ۲۴/۷ + نصب توسط کارشناسان برتینا

📚 منابع معتبر:

نظرات