نحوه نصب گواهی SSL بر روی IIS

برای نصب گواهی SSL بر روی IIS، IIS Manager را باز کنید، به Server Certificates بروید و فایل .crt خود را از طریق گزینه Complete Certificate Request آپلود کنید. سپس روی وب‌سایت خود کلیک راست کنید، Edit Bindings > Add را انتخاب کنید و یک اتصال HTTPS روی پورت 443 ایجاد کنید. از ایجاد CSR تا تأیید نصب، کل فرآیند در اکثر محیط‌های Windows Server حدود ۱۵ دقیقه طول می‌کشد. این راهنما هر مرحله را با اسکرین‌شات توضیح می‌دهد و خطاهای رایج و تغییر مسیر از HTTP به HTTPS را نیز به‌طور کامل پوشش می‌دهد.

می‌خواهید گواهی SSL به مشتریان خود بفروشید؟

با برنامه فروشندگان SSL از Domain Name API می‌توانید گواهی‌های DV، OV، EV و Wildcard را از طریق یک API واحد ارائه دهید.

مشاهده راه‌حل‌های فروشندگان SSL ←

آنچه قبل از نصب SSL بر روی IIS باید آماده کنید

قبل از باز کردن IIS Manager، مطمئن شوید که همه موارد زیر آماده است. اگر هر یک از این موارد وجود نداشته باشد، ممکن است در میانه فرآیند نصب گیر کنید.

پیش‌نیاز توضیحات
دسترسی به IIS Manager Internet Information Services Manager باید بر روی Windows Server نصب شده و در حال اجرا باشد.
دسترسی مدیریتی برای نصب گواهی‌ها به دسترسی مدیر محلی یا مدیر دامنه بر روی سرور نیاز دارید. حساب‌های کاربری معمولی نمی‌توانند گواهی نصب کنند.
CSR (درخواست امضای گواهی) در مرحله ۲ از طریق IIS Manager ایجاد می‌شود. CSR کلید خصوصی را نیز تولید می‌کند — هر دو باید روی همان سرور باقی بمانند.
فایل گواهی SSL ‏(.crt) پس از تکمیل تأیید دامنه توسط CA (مرجع صدور گواهی) صادر می‌شود.
CA Bundle / گواهی میانی توسط CA همراه با گواهی ارائه می‌شود. برای زنجیره اعتماد کامل ضروری است — آن را نادیده نگیرید.
کلید خصوصی هنگام ایجاد CSR در IIS به‌صورت خودکار تولید می‌شود. روی سرور باقی می‌ماند و نمی‌توان آن را به‌عنوان فایل جداگانه دانلود کرد.

⚠️ اگر CSR را روی سرور دیگری ایجاد کرده‌اید، نمی‌توانید از روش Complete Certificate Request استفاده کنید. به جای آن، یک فایل .pfx (گواهی + کلید خصوصی با هم) از سرور اصلی صادر کنید و از گزینه 'Import' در IIS استفاده کنید.

مرحله ۱ — انتخاب گواهی SSL مناسب

گواهی‌های SSL یک راه‌حل یکسان برای همه نیستند. نوعی که نیاز دارید به تعداد دامنه‌هایی که می‌خواهید ایمن کنید و سطح تأیید هویتی که کاربران شما انتظار دارند بستگی دارد.

نوع چه چیزی تأیید می‌شود برای چه کسی مناسب است مثال
DV SSL فقط مالکیت دامنه وبلاگ، سایت شخصی، کسب‌وکار کوچک www.example.ir
OV SSL دامنه + هویت سازمان سایت‌های سازمانی، پلتفرم‌های SaaS سایت رسمی شرکت
EV SSL تأیید گسترده شرکت تجارت الکترونیک، مالی — بالاترین سطح اعتماد checkout.example.ir
Wildcard SSL دامنه + تمام زیردامنه‌های سطح اول ارائه‌دهندگان هاستینگ، ساختارهای با زیردامنه‌های متعدد *.example.ir

برای ارائه‌دهندگان هاستینگ و فروشندگان دامنه، Wildcard SSL معمولاً عملی‌ترین انتخاب است — یک گواهی تمام زیردامنه‌ها را پوشش می‌دهد و نیازی به تجدید هر کدام به‌صورت جداگانه نیست.

SSL به مشتریان خود می‌فروشید؟

برنامه فروشندگان SSL از Domain Name API به شما دسترسی به گواهی‌های DV، OV، EV و Wildcard با قیمت‌های رقابتی برای فروشندگان می‌دهد.

مشاهده قیمت‌های فروشندگان SSL ←

مرحله ۲ — باز کردن IIS Manager

در Windows Server کلیدهای Win + R را فشار دهید، inetmgr را تایپ کنید و Enter بزنید. همچنین می‌توانید "IIS" را در منوی Start جستجو کنید و Internet Information Services (IIS) Manager را انتخاب کنید.

نحوه نصب گواهی SSL بر روی IIS

ℹ️ IIS Manager را پیدا نمی‌کنید؟ این مسیر را دنبال کنید: Server Manager ← افزودن نقش‌ها و ویژگی‌ها ← Web Server (IIS). در نسخه‌های دسکتاپ Windows: کنترل پنل ← برنامه‌ها ← روشن یا خاموش کردن ویژگی‌های Windows ← Internet Information Services.

مرحله ۳ — باز کردن Server Certificates

در پنل سمت چپ IIS Manager روی نام سرور خود کلیک کنید. در پنل مرکزی آیکون "Server Certificates" را پیدا کنید و روی آن دوبار کلیک کنید.

نحوه نصب گواهی SSL بر روی IIS

مرحله ۴ — ایجاد CSR و آپلود فایل گواهی

اگر هنوز CSR ایجاد نکرده‌اید، قبل از آپلود فایل گواهی این مرحله را انجام دهید.

نحوه ایجاد CSR

  1. در پنل Actions روی "Create Certificate Request…" کلیک کنید.
  2. فیلدهای Distinguished Name را پر کنید — Common Name باید دقیقاً با نام دامنه‌ای که ایمن می‌کنید مطابقت داشته باشد.
  3. طول کلید را روی ۲۰۴۸ (حداقل) یا ۴۰۹۶ برای رمزنگاری قوی‌تر تنظیم کنید.
  4. فایل .txt را ذخیره کنید — محتوای آن را باید در فرم سفارش CA جای‌گذاری کنید.

پس از اینکه CA گواهی را صادر کرد به این مرحله برگردید.

نصب گواهی — Complete Certificate Request

در پنل Actions روی "Complete Certificate Request…" کلیک کنید تا دستیار نصب باز شود.

نحوه نصب گواهی SSL بر روی IIS

⚠️ آیا CSR را روی سرور دیگری ایجاد کرده‌اید؟ در این صورت Complete Certificate Request کار نخواهد کرد. یک فایل .pfx (PKCS#12) — شامل کلید خصوصی — از سرور اصلی صادر کنید و از گزینه 'Import' در پنل Actions زیر Server Certificates استفاده کنید.

اگر از cPanel، Plesk یا سرور Linux به IIS مهاجرت می‌کنید: نمی‌توانید گواهی موجود خود را مستقیماً به IIS وارد کنید. ابتدا گواهی را با استفاده از دستور OpenSSL یا یک مبدل آنلاین PEM→PFX به فرمت .pfx (PKCS#12) تبدیل کنید، سپس از Server Certificates → Import در IIS استفاده کنید. دستور OpenSSL به شکل زیر است:

openssl pkcs12 -export -out guvahi.pfx -inkey khosoosi.key -in guvahi.crt -certfile cabundle.crt

مرحله ۵ — انتخاب فایل گواهی و وارد کردن Friendly Name

پنجره "Specify Certificate Authority Response" باز می‌شود. سه فیلد را به شکل زیر پر کنید:

فیلد چه چیزی وارد شود
File name (.cer) فایل .crt خود را از طریق دکمه "…" انتخاب کنید. IIS هم پسوند .crt و هم .cer را می‌پذیرد.
Friendly name یک برچسب کوتاه که آن را بشناسید — مثلاً example.ir-2025. این نام را در مرحله ۶ انتخاب خواهید کرد.
Certificate store "Personal" را انتخاب کنید. اگر گواهی بعد از آن نمایش داده نشد، "Web Hosting" را امتحان کنید.

نحوه نصب گواهی SSL بر روی IIS

پس از پر کردن تمام فیلدها روی "OK" کلیک کنید. گواهی اکنون روی سرور آپلود شده است. هنوز ترافیک HTTPS را ارائه نمی‌دهد — این در مرحله بعد اتفاق می‌افتد.

مرحله ۶ — ایجاد اتصال HTTPS روی پورت ۴۴۳

گواهی نصب شده است، اما IIS هنوز نمی‌داند کدام وب‌سایت باید از آن استفاده کند. باید یک اتصال ایجاد کنید که پورت ۴۴۳ را به وب‌سایت و گواهی شما متصل کند.

روی وب‌سایت خود در پنل چپ کلیک راست کنید و روی "Edit Bindings…" کلیک کنید. در پنجره Site Bindings روی "Add" کلیک کنید.

نحوه نصب گواهی SSL بر روی IIS

فیلد مقدار / توضیحات
Type https
IP Address All Unassigned — یا آدرس IP مشخصی که به سرور شما اختصاص داده شده، در صورت لزوم
Port 443
Hostname نام دامنه را دقیقاً همان‌طور که در گواهی نمایش داده می‌شود وارد کنید (مثلاً www.example.ir)
SNI "Require Server Name Indication" را علامت بزنید اگر چندین سایت از این آدرس IP استفاده می‌کنند
SSL Certificate Friendly Name که در مرحله ۵ وارد کردید را انتخاب کنید

نحوه نصب گواهی SSL بر روی IIS

برای ذخیره روی "OK" کلیک کنید. وب‌سایت شما اکنون از طریق HTTPS قابل دسترسی است.

SNI چیست و چه زمانی باید فعال شود؟

SNI (Server Name Indication) یک پسوند TLS است که به یک آدرس IP اجازه می‌دهد چندین گواهی SSL ارائه دهد — یک گواهی برای هر hostname. بدون SNI، IIS فقط می‌تواند یک گواهی به ازای هر آدرس IP ارائه دهد، صرف نظر از hostname.

SNI را در موارد زیر فعال کنید: (الف) چندین وب‌سایت HTTPS را روی یک آدرس IP سرور میزبانی می‌کنید، یا (ب) سرور شما پشت یک load balancer مشترک است. IIS 7.5 و نسخه‌های قدیمی‌تر از SNI پشتیبانی نمی‌کنند — برای هر دامنه به یک IP جداگانه نیاز است. IIS 8 و نسخه‌های جدیدتر به‌صورت بومی از SNI پشتیبانی می‌کنند.

مرحله ۷ — تغییر مسیر از HTTP به HTTPS

افزودن اتصال HTTPS به‌صورت خودکار ترافیک http:// را تغییر مسیر نمی‌دهد. بدون تغییر مسیر، برخی بازدیدکنندگان — و ربات‌های موتورهای جستجو — همچنان به نسخه رمزنگاری نشده سایت شما دسترسی خواهند داشت.

تغییر مسیر با ماژول URL Rewrite برای IIS (توصیه شده)

  1. ماژول URL Rewrite را از Microsoft دانلود و نصب کنید (رایگان، از طریق Web Platform Installer یا دانلود مستقیم).
  2. سایت خود را در IIS Manager انتخاب کنید و روی "URL Rewrite" دوبار کلیک کنید.
  3. "Add Rule(s)" ← "Blank Rule" را انتخاب کنید. قانون را "HTTP to HTTPS" نام‌گذاری کنید.
  4. Match URL: Pattern = .*
  5. یک شرط اضافه کنید: {HTTPS} با الگوی "^OFF$" مطابقت دارد.
  6. اقدام: تغییر مسیر به https://{HTTP_HOST}/{R:0}، نوع تغییر مسیر: دائمی (301).

چرا این برای سئو و اعتماد کاربران مهم است: Google از سال ۲۰۱۴ از HTTPS به‌عنوان سیگنال رتبه‌بندی استفاده می‌کند. به‌طور مشخص، Chrome و Edge هر صفحه HTTP را به‌عنوان 'ناامن' علامت‌گذاری می‌کنند — این اعتماد کاربران را تضعیف می‌کند و نرخ خروج را افزایش می‌دهد؛ هر دو عامل منفی غیرمستقیم برای سئو هستند. تغییر مسیر ۳۰۱ همچنین ارزش لینک را از URL‌های HTTP به نسخه HTTPS منتقل می‌کند.

مرحله ۸ — تأیید نصب SSL

فرض نکنید که همه چیز کار می‌کند — آن را تأیید کنید. قبل از اینکه نصب را کامل بدانید این سه بررسی را انجام دهید:

  • آیکون قفل در مرورگر: https://www.example.ir را در Chrome یا Edge باز کنید. آیکون قفل در نوار آدرس تأیید می‌کند که HTTPS فعال است.
  • SSL Checker: از یک ابزار SSL checker آنلاین برای تأیید زنجیره گواهی، تاریخ انقضا و صادرکننده استفاده کنید.
  • تست SSL Labs: به ssllabs.com/ssltest بروید و نام دامنه خود را وارد کنید. هدف امتیاز A یا A+ باشید — امتیاز پایین‌تر معمولاً نشان‌دهنده مشکلی در پیکربندی است که باید برطرف شود.

✅ آیکون قفل وجود ندارد؟ رایج‌ترین دلیل زنجیره گواهی ناقص است — گواهی میانی (CA Bundle) نصب نشده است. آن را از طریق certlm.msc با MMC در فروشگاه گواهی IIS نصب کنید، سپس IIS را مجدداً راه‌اندازی کنید.