میشود گفت که تقریبا تمامی سایت ها در بستر اینترنت دارای ارتباط امن یا SSL هستند و از پروتکل https پشتیبانی می کنند. به طور خلاصه این نوع ارتباط باعث حفظ داده های کاربر شده و از به سرقت رفتن اطلاعات ارسالی جلوگیری می کند. اما فعالسازی SSL نیازمند مجوز یا certificate هست که خوشبختانه میتوان به صورت رایگان روی تمامی سرورها و هاست ها برای ارتباطی امن این امکان را فعال کرد.

اما برای فعالسازی SSL و https در محیط توسعه با استفاده از xampp چه کنیم؟ در این مقاله نحوه فعالسازی ssl در xampp را مورد بررسی قرار می دهیم و قصد داریم در این مقاله دامنه و هاست site.test را ایجاد و امن کنیم.

مرحله اول: تولید مجوز یا SSL

ابتدا برای تولید مجوز ssl به دو فایل نیاز داریم که میتوانید از اینجا دانلود کنید. سپس محتوای فایل فشرده که یک پوشه با نام cert هست را در مسیر xampp و پوشه apache استخراج کنید. مثلا مسیر apache من c:\xampp\apache\ است.

فایل های موجود در پوشه در مسیر مد نظر

فایل cert.conf را بوسیله ویرایشگر متنی باز و دامنه مد نظر خود را به جای {{DOMAIN}} قرار دهید و فایل را ذخیره کنید. من در این مقاله دامنه site.test را انتخاب کردم.

روی فایل make-cert.bat دابل کلیک کنید و پس از درخواست دامنه، دامنه خود را وارد کنید و اینتر بزنید و در ادامه به سوالات هم پاسخ مناسب دهید یا هر سوال را خالی بذارید و اینتر بزنید. پس از پایان سوالات مجوز شما تولید می شود.

مرحله دوم: نصب مجوز SSL در ویندوز

خب حالا در پوشه cert یک پوشه با نام دامنه شما ایجاد شده که اینجا برای من پوشه site.test ایجاد شده که دو فایل server.crt و server.key در آن مشاهده می شود. این فایل های مجوز SSL است.

روی فایل server.crt دابل کلیک کنید تا فرآیند نصب مجوز روی ویندوز شما آغاز شود. پس از باز شدن در پنجره certificate روی دکمه Install Certificate کلیک کنید.

سپس گزینه Local Machine را به عنوان فضای ذخیره سازی انتخاب کنید.

گزینه Place all certificate in following store را انتخاب کنید، بعد از کلیک روی Browse گزینه Trusted Root Certification Authorities را انتخاب و روی Ok کلیک کنید.

روی Next و سپس Finish کلیک کنید. تبریک میگم حالا مجوز روی ویندوز شما نصب شده و مورد اعتماد است. ولی هنوز در xampp باید کاری کنیم که سایت با دامنه site.test و پروتکل https هم در مرورگر باز شود.

مرحله سوم: فعالسازی دامنه https جدید در xampp و ویندوز

حالا باید در xampp یک هاست جدید با دامنه مد نظر ایجاد کنیم تا بتوانیم یک دامنه با قابلیت https داشته باشید.

یک ویرایشگر کد مثل notepad را با استفاده از administrator باز کنید.

فایل hosts را در مسیر C:\Windows\System32\drivers\etc\hosts را باز کنید و آی پی 127.0.0.1 را به دامنه جدید site.test اختصاص داده و فایل را ذخیره کنید(نکته: اگر فایل شما readonly بود در properties فایل تیک readyonly را بردارید و ok را بزنید)

127.0.0.1 site.test

این خط در واقع یعنی اگر کاربری درخواست سایت site.test را داد درخواست به xampp خودمان ارسال می شود.

مرحله بعد باید یک هاست مجازی برای http و یک هاست ssl هم با پورت 443 در xampp ایجاد کنیم که البته هر دو هاست یک دایرکتوری مشترک دارند. برای این کار فایل httpd-xampp.conf را در مسیر C:\xampp\apache\conf\extra\httpd-xampp.conf باز کنید و خطوط زیر را در آن اضافه کنید:

## site.test
 <VirtualHost *:80>
     DocumentRoot "C:/xampp/htdocs"
     ServerName site.test
     ServerAlias *.site.test
 </VirtualHost>
 <VirtualHost *:443>
     DocumentRoot "C:/xampp/htdocs"
     ServerName site.test
     ServerAlias *.site.test
     SSLEngine on
     SSLCertificateFile "crt/site.test/server.crt"
     SSLCertificateKeyFile "crt/site.test/server.key"
 </VirtualHost>

فایل را ذخیره کنید و سرویس آپاچی در xampp را با stop و start مجدد ریستارت کنید.

حالا کافیست در مرورگر خود آدرس دامنه را با https وارد کنید یعنی https://site.test و با مشاهده رنگ سبز قفل متوجه فعال شدن ssl می شویم.