دسته بندی:

نصب گواهینامه SSL در پلسک؛ از ساخت کد CSR تا فعال شدن https

حدود ۹ دقیقه مطالعه

گواهی SSL را خریده‌اید و حالا مانده‌اید فایل‌هایی که برایتان ایمیل شده را کجای پلسک باید وارد کنید؛ یا هنوز سفارش را ثبت نکرده‌اید و صادرکننده گواهی از شما «کد CSR» می‌خواهد. مسیر کامل — از ساخت CSR داخل پلسک تا لحظه‌ای که سایت بدون هیچ هشداری روی https بالا می‌آید — همین‌جا آمده است.

سه مرحله‌ای که هر گواهی SSL طی می‌کند

پیش از آنکه سراغ منوهای پلسک بروید بهتر است تصویر کلی کار را داشته باشید. گرفتن و نصب هر گواهینامه SSL همیشه از سه مرحله می‌گذرد:

  1. ساخت درخواست امضای گواهی یا همان کد CSR، روی سروری که سایت روی آن است.
  2. ارسال آن CSR به شرکت صادرکننده گواهی و تایید مالکیت دامنه.
  3. دریافت فایل‌های گواهی، نصب آن‌ها روی پلسک و اختصاص گواهی به دامنه.

اگر گواهی از قبل روی پلسک نصب است و می‌خواهید همان را به سرور دیگری ببرید، لازم نیست از اول شروع کنید؛ مسیر کوتاه‌تر در انتقال ssl از پلسک به سی پنل توضیح داده شده است.

مرحله اول: ساخت کد CSR در پلسک

کد CSR همان درخواستی است که مشخصات دامنه و سازمان شما را برای صادرکننده گواهی بسته‌بندی می‌کند. نکته مهم این است که CSR باید روی همان سروری ساخته شود که گواهی قرار است روی آن نصب شود، چون هم‌زمان با ساخت CSR یک کلید خصوصی (Private Key) هم ساخته می‌شود و گواهی صادرشده فقط با همان کلید کار می‌کند.

وارد پنل پلسک شوید، به زبانه Websites & Domains بروید و دامنه‌ای را که می‌خواهید امن کنید انتخاب کنید.

روی گزینه Secure Your Sites کلیک کنید. این عنوان مربوط به پلسک ۱۲ است؛ در نسخه‌های جدیدتر (Onyx و Obsidian) همین بخش زیر همان دامنه با نام SSL/TLS Certificates دیده می‌شود.

روی دکمه Add SSL Certificate کلیک کنید. در پلسک‌های جدید ابتدا داخل صفحه SSL/TLS Certificates وارد Advanced Settings می‌شوید و بعد دکمه افزودن گواهی را می‌بینید.

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

  • Common Name: دقیقاً همان دامنه‌ای که گواهی برای آن صادر می‌شود؛ برای گواهی وایلدکارد به شکل *.example.com.
  • Country: کد دو حرفی کشور؛ برای ایران IR.
  • State/Province و City: نام کامل استان و شهر، بدون مخفف.
  • Organization Name و Department: نام سازمان و واحد.
  • Email: ایمیلی که واقعاً به آن دسترسی دارید، چون مکاتبات صدور گواهی به آن می‌رسد.

روی Request کلیک کنید. یک رکورد جدید به فهرست گواهی‌های SSL اضافه می‌شود؛ روی همان گواهی تازه کلیک کنید تا کد CSR و کلید خصوصی ساخته‌شده را ببینید. کد CSR را از همین صفحه کپی کنید — کل بلوکی که با -----BEGIN CERTIFICATE REQUEST----- شروع و با -----END CERTIFICATE REQUEST----- تمام می‌شود، همراه با خط اول و آخر.

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

ساخت CSR روی پنل‌ها و سرورهای دیگر

مراحل ساخت کد CSR در هر پنل فرق می‌کند، چون هرکدام فرم و مسیر منوی خودشان را دارند. اگر سرویس شما روی پلسک نیست، آموزش مربوط به همان محیط را دنبال کنید:

مرحله دوم: تایید مالکیت دامنه و دریافت فایل‌های گواهی

لینک ثبت سفارش گواهی را باز کنید، فرم را پر کنید و کد CSR را در کادر مربوط جای‌گذاری کنید. بعد از ثبت، صادرکننده باید مطمئن شود دامنه واقعاً مال شماست. روش قدیمی و هنوز رایج، ارسال ایمیل تایید به یکی از آدرس‌های اداری دامنه (مثل admin@ یا webmaster@) است: لینک داخل ایمیل را باز کنید و کد تایید را وارد کنید. اگر به ایمیل دامنه دسترسی ندارید، امروز بیشتر صادرکننده‌ها دو راه دیگر هم می‌دهند: ثبت یک رکورد TXT در DNS دامنه، یا آپلود یک فایل مشخص روی خود سایت.

بعد از تایید، فایل‌های گواهی ارسال می‌شود؛ معمولاً دو تا: گواهی خود دامنه (فایلی مثل your_domain_name.crt) و گواهی‌های واسط یا همان CA Bundle. نام فایل واسط بسته به صادرکننده فرق می‌کند و DigiCertCA.crt فقط نام‌گذاری یکی از آن‌هاست. هر دو فایل لازم است.

مرحله سوم: نصب گواهی روی پلسک

وارد کنترل پنل پلسک شوید، دامنه را از Websites & Domains انتخاب کنید و به همان بخش SSL/TLS Certificates (در پلسک ۱۲: Secure Your Sites) برگردید. روی نام همان گواهی‌ای که در مرحله اول ساختید کلیک کنید، نه یک رکورد جدید؛ کلید خصوصی متناظر فقط داخل همان رکورد است.

برای وارد کردن فایل‌ها دو راه دارید:

  • آپلود فایل: در بخش مربوط به آپلود، فایل گواهی و فایل CA bundle را انتخاب کنید و دکمه Upload Certificate را بزنید (در پلسک‌های قدیمی‌تر عنوان این دکمه ممکن است کمی فرق داشته باشد، اما همان دکمه زیر بخش انتخاب فایل است).
  • وارد کردن به‌صورت متن: فایل‌ها را با یک ویرایشگر متنی ساده باز کنید (Notepad یا هر ویرایشگر کد؛ نه Word، که کاراکترهای اضافی به متن تزریق می‌کند) و کل محتوا را از -----BEGIN CERTIFICATE----- تا -----END CERTIFICATE----- در کادر مربوط به هرکدام جای‌گذاری کنید و دکمه Send Text را بزنید. در متن‌های قدیمی این دکمه گاهی اشتباه «send ext» نوشته شده؛ نام درست آن Send Text است و در نسخه‌های جدید پلسک همان Upload Certificate کار هر دو حالت را انجام می‌دهد.

کادر Private key معمولاً از قبل پر است، چون هم‌زمان با ساخت CSR کلید خصوصی هم ساخته و در همین رکورد ذخیره شده. اگر خالی بود یعنی روی رکورد اشتباهی هستید.

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

آپلود فایل به‌تنهایی سایت را امن نمی‌کند؛ باید به پلسک بگویید این دامنه از این گواهی استفاده کند. به Websites & Domains بروید، وارد Hosting Settings همان دامنه شوید (در پلسک اوبسیدین این گزینه زیر زبانه Hosting & DNS دامنه قرار دارد)، گزینه SSL/TLS support را فعال کنید و از فهرست Certificate گواهی تازه را انتخاب و ذخیره کنید. تا وقتی این کار انجام نشود سایت همچنان گواهی قبلی یا گواهی پیش‌فرض سرور را نشان می‌دهد.

آیا باید وب‌سرور یا پنل را ری‌استارت کنید؟

در آموزش‌های قدیمی نوشته شده که بعد از نصب باید کل «Parallels Plesk Panel» را دوباره راه‌اندازی کنید. این توصیه امروز درست نیست: محصول از سال ۲۰۱۵ دیگر زیرمجموعه Parallels نیست و نامش فقط Plesk است، و مهم‌تر اینکه پلسک بعد از ذخیره تنظیمات میزبانی خودش پیکربندی وب‌سرور را بازنویسی و سرویس را بازخوانی می‌کند. راه‌اندازی مجدد خود پنل ربطی به گواهی سایت ندارد.

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

  • از مسیر Tools & Settings > Services Management (در پلسک ۱۲: منوی Server > Services Management) وب‌سرور را Restart کنید.
  • یا از خط فرمان سرور، روی پلسک لینوکس:
systemctl restart httpd     # AlmaLinux, Rocky, CentOS
systemctl restart apache2   # Ubuntu, Debian
systemctl restart nginx     # if nginx is enabled in front of Apache

دستورهای قدیمی service httpd restart و /etc/init.d/httpd restart روی توزیع‌های امروزی فقط به systemctl هدایت می‌شوند؛ فرم درست همان systemctl است. اگر پیکربندی وب‌سرور همان یک دامنه به‌هم‌ریخته بود، پلسک ابزار خودش را دارد؛ نام دامنه را حتماً بنویسید تا فقط همان دامنه بازسازی شود:

plesk repair web example.com

همین دستور بدون نام دامنه (plesk repair web) پیکربندی همه دامنه‌های سرور را از نو می‌سازد؛ روی سرور پرسایت طولانی است و بهتر است سراغش نروید مگر واقعاً لازم باشد. سوییچ -y هم فقط همه پرسش‌های تاییدیه را از پیش «بله» می‌کند، پس اول بدون آن اجرا کنید و گزارش را بخوانید.

روی پلسک ویندوز وب‌سرور IIS است و systemctl آنجا معنایی ندارد؛ ری‌استارت را از همان صفحه Services Management انجام دهید.

تنها حالتی که واقعاً به راه‌اندازی مجدد خود پنل نیاز دارد، وقتی است که گواهی را برای رابط مدیریت پلسک (پورت ۸۴۴۳) عوض کرده باشید، نه برای سایت. در آن صورت روی لینوکس:

systemctl restart sw-cp-server

این دستور فقط رابط مدیریت پلسک را چند ثانیه قطع می‌کند و به سایت‌های روی سرور کاری ندارد؛ ولی اگر خودتان داخل پنل هستید ارتباطتان قطع می‌شود و باید دوباره وارد شوید.

تست نصب گواهی

سایت را با https باز کنید. نسخه قدیمی این آموزش تست با اینترنت اکسپلورر را پیشنهاد می‌کرد؛ اینترنت اکسپلورر از سال ۲۰۲۲ بازنشسته شده و دیگر ملاک نیست. با کروم و فایرفاکس تست کنید و حتماً یک بار هم از گوشی موبایل.

آنچه در متن قدیمی «گواهی middleware» نوشته شده بود در واقع گواهی intermediate یا واسط است. اگر این زنجیره را نصب نکرده باشید ممکن است سایت در مرورگر دسکتاپ سالم به نظر برسد اما روی موبایل، اپلیکیشن‌ها یا هنگام اتصال درگاه پرداخت خطای «گواهی نامعتبر» بگیرید؛ پس فقط به قفل مرورگر خودتان اکتفا نکنید.

سریع‌ترین بررسی از خط فرمان:

openssl s_client -connect example.com:443 -servername example.com < /dev/null

بخش < /dev/null را حذف نکنید؛ بدون آن دستور بعد از نمایش خروجی منتظر ورودی شما می‌ماند و به نظر می‌رسد هنگ کرده است. در خروجی باید زنجیره کامل گواهی و در انتها Verify return code: 0 (ok) را ببینید. برای بررسی کامل‌تر — شامل زنجیره، تاریخ انقضا و نسخه‌های TLS فعال — از ابزار آنلاین SSL Labs در آدرس ssllabs.com/ssltest استفاده کنید. (ابزار آنلاینی که در نسخه قدیمی این مطلب معرفی شده بود جای خود را به همین سرویس‌های رایج‌تر داده است.)

اگر قرار نیست گواهی بخرید

همه مسیر بالا برای گواهی‌هایی است که از یک صادرکننده تجاری می‌خرید. پلسک افزونه SSL It! را هم دارد که با Let’s Encrypt گواهی رایگان می‌گیرد و پیش از انقضا خودش تمدید می‌کند؛ در آن حالت نه CSR می‌سازید، نه فایلی آپلود می‌کنید. شرطش این است که دامنه روی همان سرور رزولوو شده و سرور از بیرون در دسترس باشد. اگر گواهی سازمانی با اعتبارسنجی OV یا EV نمی‌خواهید، ساده‌ترین راه رسیدن به https همین است.

خطاهای رایج بعد از نصب

  • پیام عدم تطابق گواهی با کلید خصوصی: گواهی را روی رکوردی نصب کرده‌اید که CSR آن با CSR ارسالی فرق دارد. به رکورد اصلی برگردید یا CSR تازه بسازید و از صادرکننده درخواست reissue کنید.
  • قفل مرورگر ناقص با وجود گواهی سالم: mixed content؛ تصویر، اسکریپت یا استایلی هنوز با http بارگذاری می‌شود. آدرس‌های داخل قالب و دیتابیس را به https اصلاح کنید.
  • سایت با www سالم است و بدون www خطا می‌دهد (یا برعکس): گواهی باید هر دو نام را پوشش دهد؛ هنگام سفارش این را بررسی کنید.
  • گواهی منقضی شده: مدت اعتبار گواهی‌های عمومی نسبت به گذشته کوتاه‌تر شده و دیگر گواهی چندساله صادر نمی‌شود. تمدید یعنی تکرار همین مراحل، پس تاریخ انقضا را در تقویم بگذارید.

بعد از نصب، بازدیدکننده را به https ببرید

نصب گواهی به‌تنهایی کسی را به نسخه امن سایت نمی‌فرستد؛ تا وقتی ریدایرکت نگذاشته باشید سایت روی http هم باز می‌شود و همان نسخه ناامن ایندکس می‌شود. اگر سایت روی ویندوز و IIS بالا آمده، این ریدایرکت با یک قاعده در فایل Web.config انجام می‌شود؛ روی پلسک لینوکس هم پلسک خودش گزینه آماده «Permanent SEO-safe 301 redirect from HTTP to HTTPS» را در تنظیمات میزبانی همان دامنه دارد و کافی است فعالش کنید. هر دو روش را گام‌به‌گام در آموزش ریدایرکت http به https در پلسک آورده‌ایم.