آموزش نصب و تمدید SSL در cPanel و DirectAdmin و رفع خطاهای آن
مقدمه:
آموزش نصب و تمدید SSL در cPanel و DrectAdmin و رفع خطاهای آن زمانی کاربرد دارد که میخواهید سایت از طریق HTTPS در دسترس باشد، گواهی دامنه تمدید نمیشود یا مرورگر درباره اتصال امن هشدار میدهد. در cPanel معمولاً میتوان وضعیت گواهیها را از بخش SSL/TLS Status و قابلیت AutoSSL مدیریت کرد؛ DirectAdmin نیز امکان صدور و تمدید خودکار گواهی از طریق ACME و سرویسهایی مانند Let's Encrypt را فراهم میکند. روش دقیق به امکاناتی که شرکت هاستینگ روی حساب فعال کرده است بستگی دارد.
فهرست مطالب
- SSL چیست و چرا سایت به HTTPS نیاز دارد؟
- پیشنیازهای نصب SSL
- آموزش نصب SSL در cPanel
- تمدید SSL در cPanel
- آموزش نصب SSL در DirectAdmin
- تمدید SSL در DirectAdmin
- تفاوت AutoSSL و Let's Encrypt
- جدول خطاهای رایج SSL
- رفع خطای صدور گواهی
- رفع Mixed Content
- بررسی DNS و دامنه
- چکلیست نهایی
- جمعبندی
- سؤالات متداول
SSL چیست و چه ارتباطی با HTTPS دارد؟
اصطلاح SSL هنوز در پنلهای میزبانی و میان کاربران رایج است، اما ارتباط امن وب امروزی عملاً با TLS انجام میشود. گواهی TLS به مرورگر کمک میکند هویت دامنه را بر اساس گواهی صادرشده بررسی کرده و ارتباط HTTPS رمزنگاریشده با سرور برقرار کند.
در cPanel نیز ابزارهای مرتبط همچنان با عناوینی مانند SSL/TLS و AutoSSL ارائه میشوند. رابط SSL/TLS Certificates امکان مدیریت Certificate، Private Key، CSR و نصب گواهی را فراهم میکند.
[لینک داخلی پیشنهادی: انکرتکست «SSL چیست و چه کاربردی دارد» ← مقاله معرفی SSL و HTTPS]
CTA اول: اگر فعالسازی SSL، تغییر DNS یا خطاهای HTTPS سایت برایتان مبهم است، بهتر است قبل از تغییر تنظیمات اصلی از وضعیت فعلی سایت نسخه پشتیبان داشته باشید. برای بررسی تنظیمات دامنه، هاست و SSL میتوانید از کارشناسان شرکت تجارت الکترونیک نوژن مشاوره دریافت کنید.
پیش نیازهای نصب SSL روی سایت
پیش از شروع نصب، دامنه باید به سروری اشاره کند که قرار است گواهی روی آن صادر یا نصب شود. در روشهای اعتبارسنجی خودکار، مرجع صدور Certificate باید بتواند کنترل شما بر دامنه را تأیید کند. Let's Encrypt برای این منظور Challengeهای مختلفی از جمله HTTP-01 و DNS-01 دارد.
در HTTP-01، سرویس صدور گواهی باید بتواند فایل اعتبارسنجی مشخصی را از مسیر وب دامنه دریافت کند. بنابراین DNS نادرست، مسدود بودن دسترسی HTTP یا هدایت نامناسب درخواستها میتواند باعث شکست صدور Certificate شود. Let's Encrypt توصیه میکند برای استفاده از HTTP-01 دسترسی پورت 80 فراهم باشد.
پیش از اعمال تغییرات مهم موارد زیر را بررسی کنید:
- دامنه به IP صحیح هاست Resolve شود.
- سایت روی همان حساب میزبانی تعریف شده باشد.
- دامنه و
wwwدر صورت نیاز هر دو به مقصد صحیح اشاره کنند. - تنظیمات CDN یا Proxy مانع اعتبارسنجی دامنه نشوند.
- از فایلها و پایگاه داده سایت Backup داشته باشید.
- پیش از حذف گواهی موجود، مطمئن شوید امکان صدور یا نصب گواهی جایگزین وجود دارد.
آموزش نصب SSL در cPanel
در نسخههای جدید cPanel، مدیریت وضعیت Certificateها از بخش SSL/TLS Status یا رابط یکپارچه SSL/TLS Certificates انجام میشود. نمایش دقیق گزینهها به تنظیماتی بستگی دارد که شرکت هاستینگ در WHM برای حساب شما فعال کرده است.
روش اول: نصب خودکار با AutoSSL
اگر AutoSSL روی هاست فعال باشد، این روش معمولاً سادهترین گزینه برای دامنههای معمولی است.
ابتدا وارد cPanel شوید و از بخش Security وارد SSL/TLS Status شوید. در این صفحه میتوانید وضعیت SSL دامنهها، دامنههای بدون Certificate و Certificateهای در حال انقضا را مشاهده کنید.
دامنه موردنظر را انتخاب کنید. اگر گزینه Run AutoSSL برای حساب شما نمایش داده میشود، اجرای آن باعث میشود cPanel فرایند بررسی و صدور گواهی را برای دامنههای واجد شرایط انجام دهد. در دسترس بودن این گزینه به تنظیمات مدیر سرور و AutoSSL Provider بستگی دارد.
پس از پایان فرایند، سایت را با آدرس زیر بررسی کنید:
https://example.com
در صورت نصب صحیح، باید Certificate معتبر برای همان Hostname ارائه شود.
روش دوم: نصب گواهی SSL خریداریشده در cPanel
اگر Certificate را از یک CA دیگر دریافت کردهاید، میتوانید از ابزارهای SSL/TLS برای نصب دستی استفاده کنید.
گواهیهای دستی معمولاً شامل Certificate یا CRT، Private Key و در برخی موارد CA Bundle هستند. Private Key باید متعلق به همان CSR یا Certificate باشد؛ استفاده از Key نامرتبط باعث نصب نامعتبر خواهد شد.
در cPanel ابزار SSL/TLS امکان ایجاد و مدیریت Private Key، CSR و Certificate را فراهم میکند. رابط دقیق میتواند بسته به نسخه cPanel و Featureهای فعالشده متفاوت باشد.
هنگام کار با Private Key آن را در اختیار افراد غیرمجاز قرار ندهید. Private Key بخش حساس زنجیره TLS است و نباید در صفحات عمومی، تیکتهای بدون حفاظت یا مخازن عمومی ذخیره شود.
تمدید SSL در cPanel چگونه انجام میشود؟
در هاستهایی که AutoSSL فعال است، cPanel میتواند فرایند صدور و تمدید گواهیهای مدیریتشده را بهصورت خودکار انجام دهد. مستندات cPanel نیز AutoSSL را برای نصب و تمدید خودکار Certificateهای دامنه معرفی میکنند.
برای بررسی وضعیت، به SSL/TLS Status بروید و تاریخ و وضعیت Certificate دامنه را مشاهده کنید. این رابط برای شناسایی دامنههای بدون SSL یا Certificateهای نزدیک به انقضا طراحی شده است.
اگر AutoSSL تمدید نشد چه کنیم؟
ابتدا به جای حذف فوری Certificate، علت شکست AutoSSL را بررسی کنید. DNS دامنه، دامنههای اضافی داخل Certificate، دسترسی وب و وضعیت اعتبارسنجی از مواردی هستند که باید کنترل شوند.
cPanel در راهنمای خود برای بعضی سناریوهای تمدید دستی AutoSSL، حذف Certificate مشکلدار و سپس اجرای مجدد AutoSSL را توضیح داده است؛ اما انجام این کار میتواند برای مدتی سایت را بدون گواهی معتبر باقی بگذارد. بنابراین در سرویس عملیاتی ابتدا Backup و برنامه بازگشت داشته باشید و فقط زمانی گواهی فعلی را حذف کنید که علت مشکل را بررسی کرده باشید.
آموزش نصب SSL در DirectAdmin
DirectAdmin از ACME برای صدور و تمدید خودکار گواهی دامنهها پشتیبانی میکند و امکان استفاده از ارائهدهندگانی مانند Let's Encrypt و ZeroSSL را دارد. قابلیت ACME دامنهها در DirectAdmin از تنظیمات خود سرور کنترل میشود و مدیر هاست باید آن را فعال کرده باشد.
فعالسازی SSL برای دامنه در DirectAdmin
وارد DirectAdmin شوید و دامنه موردنظر را انتخاب کنید. در Evolution Skin معمولاً گزینههای مربوط به SSL Certificates در بخش تنظیمات Account یا Domain قابل دسترسی هستند؛ نام و محل دقیق گزینه ممکن است با Skin و نسخه پنل تغییر کند.
وارد قسمت SSL Certificates شوید و گزینه دریافت Certificate خودکار یا Let's Encrypt/ACME را انتخاب کنید. سپس Hostnameهایی را که میخواهید تحت پوشش گواهی قرار گیرند مشخص کنید؛ برای مثال دامنه اصلی و www.
DirectAdmin پس از ثبت درخواست، اعتبارسنجی دامنه را انجام داده و در صورت موفقیت Certificate را روی سرویس نصب میکند. DirectAdmin اعلام میکند Certificateهای ACME دامنه را میتواند بهصورت خودکار صادر و تمدید کند.
آیا باید برای www هم SSL بگیریم؟
اگر سایت از هر دو آدرس زیر استفاده میکند، Certificate باید Hostnameهایی را که کاربران واقعاً با آنها سایت را باز میکنند پوشش دهد:
example.com
www.example.com
این موضوع برای Subdomainهای دیگری مانند shop.example.com یا panel.example.com نیز صدق میکند. صرف داشتن Certificate برای دامنه اصلی به معنی پوشش خودکار تمام Subdomainها نیست.
تمدید SSL در DirectAdmin
اگر Certificate از طریق قابلیت ACME خود DirectAdmin صادر شده باشد، DirectAdmin قابلیت تمدید خودکار آن را دارد. بنابراین در شرایط عادی لازم نیست کاربر هر بار Certificate جدید را بهصورت دستی جایگزین کند.
اگر تمدید خودکار انجام نمیشود، باید به دنبال علت باشید؛ برای مثال تغییر DNS، حذف دامنه از سرور، مشکل اعتبارسنجی ACME یا اختلال در دسترسی مسیر Challenge میتواند فرایند را مختل کند.
مستندات DirectAdmin بخش جداگانهای برای Troubleshooting Let's Encrypt دارد و بررسی فعال بودن ACME و مسیر /.well-known را از مراحل عیبیابی معرفی میکند.
[لینک داخلی پیشنهادی: انکرتکست «آموزش کار با DirectAdmin» ← مقاله راهنمای کنترل پنل DirectAdmin]
تفاوت AutoSSL در cPanel و ACME در DirectAdmin
| موضوع | cPanel | DirectAdmin |
| ابزار رایج | AutoSSL | ACME / Let's Encrypt |
| مدیریت وضعیت | SSL/TLS Status | SSL Certificates |
| صدور خودکار | در صورت فعال بودن AutoSSL | در صورت فعال بودن قابلیت ACME |
| تمدید خودکار | پشتیبانی میشود | پشتیبانی میشود |
| Certificate دستی | قابل نصب | قابل نصب |
| وابستگی به تنظیمات هاستینگ | بله | بله |
| نیاز به اعتبارسنجی دامنه | بله | بله |
cPanel ابزار AutoSSL را برای مدیریت خودکار گواهی دامنهها ارائه میکند و DirectAdmin نیز صدور و تمدید خودکار مبتنی بر ACME را پشتیبانی میکند. امکاناتی که کاربر نهایی میبیند به پیکربندی مدیر سرور وابسته است.
CTA دوم: اگر برای سایت خود به هاست با مدیریت SSL، HTTPS و امکانات مناسب کنترلپنل نیاز دارید، میتوانید سرویسهای هاست شرکت تجارت الکترونیک نوژن را بررسی کنید. پیش از خرید، نوع کنترلپنل، نحوه صدور SSL و شرایط Backup و پشتیبانی سرویس را نیز در نظر بگیرید.
[لینک داخلی پیشنهادی: انکرتکست «خرید هاست» ← صفحه خدمات هاست]
خطاهای رایج SSL و روش تشخیص آنها
| مشکل | علتهای احتمالی | اقدام پیشنهادی |
| SSL صادر نمیشود | DNS اشتباه، Challenge ناموفق، دامنه به سرور دیگری متصل است | بررسی DNS و دسترسی دامنه |
| SSL تمدید نمیشود | تغییر DNS یا مشکل اعتبارسنجی | بررسی وضعیت ACME یا AutoSSL |
| سایت با HTTPS باز نمیشود | Certificate نصب نشده یا وبسرور تنظیم نشده | بررسی وضعیت گواهی در پنل |
| اخطار نام دامنه | Certificate برای Hostname دیگری صادر شده | بررسی SAN/CN گواهی و دامنه |
| Mixed Content | بارگذاری منابع HTTP در صفحه HTTPS | اصلاح URL تصاویر، CSS، JS و APIها |
| بعضی Subdomainها اخطار دارند | داخل Certificate قرار نگرفتهاند | صدور Certificate برای Hostname موردنظر |
| AutoSSL خطا میدهد | مشکل Domain Validation | بررسی Log، DNS و Challenge |
| صدور مکرر ناموفق است | تلاشهای پیدرپی و مشکل برطرفنشده | ابتدا علت را رفع کنید و سپس مجدد درخواست دهید |
Let's Encrypt برای صدور Certificate باید کنترل دامنه را اعتبارسنجی کند و برای این کار Challengeهایی مانند HTTP-01 و DNS-01 ارائه میدهد. تلاش مکرر برای صدور بدون رفع علت خطا نیز میتواند شما را با Rate Limitهای CA مواجه کند.
رفع خطای SSL صادر نمیشود
اولین کاری که باید انجام دهید بررسی DNS است. اگر دامنه هنوز به IP سرور قبلی اشاره کند، سرویس ACME ممکن است درخواست اعتبارسنجی را به سرور اشتباه ارسال کند.
میتوانید رکوردهای A و AAAA دامنه را بررسی کنید و مطمئن شوید دامنه و www به مقصد موردنظر میرسند.
[لینک داخلی پیشنهادی: انکرتکست «DNS چیست و چگونه کار میکند» ← مقاله DNS و رکوردهای A، AAAA و CNAME]
مشکل در HTTP-01 Challenge
Let's Encrypt در HTTP-01 یک فایل مشخص را از مسیر زیر درخواست میکند:
/.well-known/acme-challenge/
اگر این مسیر در دسترس نباشد، Redirect یا تنظیمات وبسرور مانع دسترسی شود یا درخواست به سرور دیگری برسد، اعتبارسنجی ممکن است شکست بخورد. مستندات DirectAdmin نیز مسیر /.well-known را از موارد اصلی عیبیابی Let's Encrypt معرفی میکند.
خطای Mixed Content چیست؟
ممکن است Certificate کاملاً معتبر باشد و سایت نیز با https:// باز شود، اما هنوز مرورگر درباره برخی منابع صفحه مشکل امنیتی نشان دهد. یکی از علتهای رایج، Mixed Content است.
Mixed Content زمانی ایجاد میشود که خود صفحه از HTTPS بارگیری شود اما بخشی از محتوا، مانند تصویر، فایل JavaScript، CSS یا Frame، هنوز از HTTP درخواست شود. چنین صفحهای بهطور کامل از HTTPS استفاده نمیکند.
برای رفع آن باید منابع HTTP را پیدا کرده و در صورت پشتیبانی مقصد، URL آنها را به HTTPS تغییر دهید. در وردپرس ممکن است URLهای قدیمی داخل دیتابیس، قالب یا تنظیمات افزونه باقی مانده باشند.
هنگام Replace کردن URLهای دیتابیس، پیش از هر تغییر گسترده Backup بگیرید. در دادههای Serialized وردپرس نیز از ابزار سازگار استفاده کنید تا ساختار داده آسیب نبیند.
چرا بعد از نصب SSL سایت هنوز با HTTP باز میشود؟
نصب Certificate بهتنهایی الزاماً به معنی Redirect شدن تمام درخواستهای HTTP به HTTPS نیست. HTTPS باید در خود سایت، وبسرور یا تنظیمات کنترلپنل بهدرستی اعمال شود.
اگر سایت وردپرسی است، URL سایت و تنظیمات افزونهها را بررسی کنید. همچنین ممکن است Redirect در .htaccess، Nginx، LiteSpeed یا لایه CDN مدیریت شود.
قبل از اضافه کردن Redirect دستی مطمئن شوید لایه دیگری همان Redirect را انجام نمیدهد. تنظیم چند Redirect ناسازگار میتواند Loop ایجاد کند.
[لینک داخلی پیشنهادی: انکرتکست «رفع خطای Too Many Redirects در وردپرس» ← مقاله رفع ERR_TOO_MANY_REDIRECTS]
خطای Certificate Name Mismatch
Certificate فقط برای نامهایی معتبر است که هنگام صدور داخل آن قرار گرفتهاند. اگر Certificate برای example.com صادر شده ولی کاربر به Hostname دیگری متصل شود که تحت پوشش گواهی نیست، مرورگر نمیتواند همان گواهی را برای نام جدید معتبر تلقی کند.
راهحل، صدور Certificate برای تمام Hostnameهای واقعی موردنیاز یا اصلاح DNS و Redirectهاست. از صدور بیدلیل Certificate برای Subdomainهایی که استفاده نمیشوند خودداری کنید.
Wildcard SSL چه زمانی کاربرد دارد؟
Wildcard Certificate برای پوشش مجموعهای از Subdomainهای یک دامنه کاربرد دارد. برای مثال گواهی *.example.com میتواند برای بسیاری از Subdomainهای یک سطح استفاده شود.
Let's Encrypt از Wildcard Certificate پشتیبانی میکند، اما صدور Wildcard آن نیازمند DNS-01 Challenge است. در DNS-01، مالکیت دامنه از طریق قرار دادن مقدار مشخص در TXT Record تأیید میشود.
اگر فقط سایت اصلی و www دارید، الزاماً به Wildcard نیاز ندارید. انتخاب نوع Certificate باید بر اساس Hostnameهای واقعی مورد استفاده انجام شود.
آیا SSL رایگان و پولی از نظر رمزنگاری متفاوت اند؟
این سؤال را نباید فقط با برچسب «رایگان» یا «پولی» پاسخ داد. Certificateها میتوانند از نظر CA، شیوه اعتبارسنجی، خدمات پشتیبانی و ویژگیهای محصول تفاوت داشته باشند، اما HTTPS امن صرفاً به قیمت Certificate وابسته نیست.
برای بسیاری از سایتهای معمولی، Certificateهای Domain Validated خودکار مانند Certificateهای ارائهشده از طریق ACME میتوانند نیاز فنی HTTPS را تأمین کنند. انتخاب نهایی باید براساس نیاز سازمان، سیاست Certificate و خدمات موردنیاز انجام شود.
بررسی SSL بعد از نصب
پس از نصب، تنها دیدن علامت HTTPS کافی نیست. موارد زیر را بررسی کنید:
- دامنه اصلی با HTTPS باز شود.
- نسخه
wwwدر صورت استفاده، Certificate معتبر داشته باشد. - Subdomainهای ضروری بررسی شوند.
- تاریخ و وضعیت Certificate در کنترلپنل درست باشد.
- صفحه Mixed Content نداشته باشد.
- Redirect از HTTP به HTTPS بدون Loop انجام شود.
- سایت، فرمها، APIها و پنل مدیریت پس از تغییر HTTPS تست شوند.
- در صورت استفاده از CDN، حالت SSL آن با Origin Server سازگار باشد.
- AutoSSL یا ACME برای تمدید بعدی فعال و بدون خطا باشد.
اشتباهات رایج هنگام نصب SSL
یکی از اشتباهات رایج، حذف Certificate فعال پیش از اطمینان از امکان صدور گواهی جدید است. این کار میتواند سایت عملیاتی را تا رفع مشکل با خطای Certificate مواجه کند.
اشتباه دیگر درخواست مکرر Certificate بدون بررسی خطای اصلی است. Let's Encrypt برای انواع مختلف درخواست محدودیتهایی دارد؛ بنابراین بهتر است ابتدا علت شکست Validation مشخص شود و سپس مجدد درخواست صدور انجام شود.
همچنین SSL را با امنیت کامل سایت برابر ندانید. HTTPS ارتباط میان کاربر و سرور را محافظت میکند، اما مشکلاتی مانند رمز عبور ضعیف، افزونه آسیبپذیر، بدافزار یا دسترسی مدیریتی ناامن را بهتنهایی برطرف نمیکند.
[لینک داخلی پیشنهادی: انکرتکست «افزایش امنیت وردپرس» ← مقاله امنیت سایت وردپرسی]
جمع بندی
در آموزش نصب و تمدید SSL در cPanel و DrectAdmin و رفع خطاهای آن دیدیم که هر دو کنترل پنل امکان مدیریت Certificate را فراهم میکنند. cPanel قابلیت AutoSSL و رابط SSL/TLS Status را برای مدیریت وضعیت گواهیها ارائه میدهد و DirectAdmin نیز با ACME امکان صدور و تمدید خودکار Certificate دامنه را فراهم کرده است.
اگر SSL صادر یا تمدید نمیشود، پیش از تغییرات گسترده باید DNS، Hostnameها، مسیر اعتبارسنجی ACME و دسترسی دامنه را بررسی کنید. در صورت معتبر بودن Certificate ولی نمایش هشدار نیز Mixed Content، Redirectها و نامهای تحت پوشش گواهی را کنترل کنید.
در سایتهای عملیاتی از حذف عجولانه Certificate یا تغییر گسترده DNS و تنظیمات وب سرور خودداری کنید. Backup، ثبت تنظیمات فعلی و داشتن مسیر بازگشت قبل از تغییرات مهم احتمال ایجاد Downtime ناخواسته را کاهش میدهد.
CTA سوم: اگر SSL سایت شما نصب نمیشود، AutoSSL یا Let's Encrypt خطا میدهد یا پس از فعالسازی HTTPS با مشکلاتی مانند Redirect و Mixed Content مواجه شدهاید، میتوانید برای بررسی هاست و تنظیمات فنی از شرکت تجارت الکترونیک نوژن مشاوره دریافت کنید یا سرویسهای میزبانی مرتبط را بررسی نمایید.
سؤالات متداول
۱. چگونه SSL را در cPanel فعال کنیم؟
اگر AutoSSL توسط شرکت هاستینگ فعال شده باشد، از بخش SSL/TLS Status وضعیت دامنه را بررسی و در صورت نمایش گزینه مربوط، AutoSSL را اجرا کنید. محل دقیق گزینهها ممکن است با نسخه و تنظیمات cPanel متفاوت باشد.
۲. چگونه SSL را در DirectAdmin فعال کنیم؟
در بخش مربوط به SSL Certificates دامنه میتوانید در صورت فعال بودن ACME، برای دامنه Certificate درخواست کنید. DirectAdmin از صدور و تمدید خودکار گواهی با ACME پشتیبانی میکند.
۳. چرا Let's Encrypt صادر نمیشود؟
DNS اشتباه، عدم دسترسی به مسیر Challenge، Hostname نادرست یا مشکل در اعتبارسنجی دامنه از دلایل احتمالی هستند. نوع خطای نمایشدادهشده در پنل باید بررسی شود.
۴. آیا SSL رایگان بهصورت خودکار تمدید میشود؟
اگر Certificate از طریق AutoSSL در cPanel یا ACME در DirectAdmin مدیریت شود و اعتبارسنجی دامنه همچنان موفق باشد، این سیستمها قابلیت تمدید خودکار را دارند.
۵. چرا بعد از نصب SSL هنوز سایت Not Secure است؟
ممکن است صفحه Mixed Content داشته باشد، Certificate برای Hostname موردنظر معتبر نباشد یا بخشی از سایت همچنان از HTTP استفاده کند. ابتدا جزئیات Certificate و منابع صفحه را بررسی کنید.
۶. برای www باید SSL جدا نصب شود؟
www.example.com باید در Certificate تحت پوشش باشد. میتوان یک Certificate را بهگونهای صادر کرد که چند Hostname از جمله دامنه اصلی و www را پوشش دهد؛ الزاماً دو Certificate جدا لازم نیست.
۷. آیا فعال کردن SSL بهتنهایی سایت را امن میکند؟
خیر. HTTPS امنیت مسیر ارتباط میان مرورگر و سرور را تقویت میکند، اما امنیت سیستمعامل، وردپرس، رمزهای عبور، افزونهها، Backup و کنترل دسترسی همچنان باید جداگانه مدیریت شوند.
