Tạo chứng chỉ SSL cục bộ được sử dụng trong XAMPP trên Windows

Table of contents

Trong bài viết này sẽ sử dụng tên miền ảo làm ví dụ là site.test

1. Vào thư mục Apache trong XAMPP.

Mặc định XAMPP đợc cài đặt trong thư mục C:\xampp\apache.

2. Tạo một thư mục mới.

Đây là nơi ta sẽ lưu trữ chứng chỉ SSL. Trong ví dụ này Ngôi Sao Số sẽ tạo thư mục crt ,Vì vậy, đường dẫn sẽ có dạng C:\xampp\apache\crt

3. Tải về và thêm 2 tập tin này vào thư mục vừa tạo

Vào đường dẫn sau tải 2 tập tin cert.conf make-cert.bat về. 2 tập tin này sẽ dùng để tạo chứng chỉ SSL cho tên miền tùy thích.

4. Sửa cert.conf và chạy make-cert.bat

Mở file cert.conf và thay đổi {{DOMAIN}} thành tên miền bạn muốn, trong trường hợp này site.test và lưu lại.

Nhấp đúp chuột vào make-cert.bat và nhập tên miền site.test khi được nhắc. Và nhập trả lời cho các câu hỏi khác, thiết lập mặc định có sẵn trong cert.conf

Xampp

5. Cài đặt chứng chỉ trong windows.

Sau đó, bạn sẽ thấy thư mục site.test được tạo. Trong thư mục đó ta sẽ có server.crt and server.key. Đây là chứng chỉ SSL certificate.

Nhấp đúp chuột vào server.crt để cài đặt nó trên Windows để Windows chấp nhận chứng chỉ này.

Xampp

Và chọn Local Machine trong Store Location.

Xampp

Tiếp tục chọn “Place all certificate in the following store” và click browse sau đó chọn Trusted Root Certification Authorities.

Xampp

Chọn Next và Finish.

Và bây giờ chứng chỉ này đã được cài đặt là tin cậy (trusted) trong Windows. Tiếp theo là làm thế nào để sử dụng chứng chỉ này trong XAMPP.

6. Thêm trang web trong máy chủ Windows

  1. Mở notepad với quyền administrator.
  2. Sửa C:\Windows\System32\drivers\etc\hosts
  3. Thêm một dòng mới:
127.0.0.1 site.test

Điều này sẽ giúp XAMPP khi truy cập http://site.test sẽ trỏ tên miền này về IP localhost

7. Thêm tên miền này vào file conf của XAMPP.

Giờ bạn cần kích hoạt SSL cho tên miền này và cho XAMPP biết nơi lưu trữ Chứng chỉ SSL. Vì vậy, bạn cần chỉnh sửa C:\xampp\apache\conf\extra\httpd-xampp.conf

Và thêm dòng mới này dưới cùng:

## 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>

Sau đó, bạn sẽ cần khởi động lại Apache trong XAMPP. Đơn giản, chỉ cần mở Bảng điều khiển XAMPP và bấm stop và start tại mục Apache.

Mẹo: Trong file conf XAMPP, bạn có thể thay đổi thư mục gốc cho từng tên miền nếu cần.

8. Khởi động lại trình duyệt và thử lại!

Cần khởi động lại trình duyệt để hệ thống tải chứng chỉ. Và truy cập tên miền trên trình duyệt của bạn, và bạn sẽ thấy khóa màu xanh lá như hình bên dưới!

Xampp

Hoặc

Bước 9: Chuẩn bị các file chứng chỉ SSL.

Truy vào thư mục C:\xampp\apache\conf\ssl (ssl là thư mục bạn tạo để lưu trữ chứng chỉ SSL) và tạo 3 file bao gồm:

  1. certificate.crt
  2. private.key
  3. ca_bundle.crt

ssl cho xampp

Lưu ý : file ca_bundle.crt là tổng hợp các chứng chỉ CARoot của các hãng mà bạn có thể nhận được từ 3 file riêng biệt khi đăng ký SSL bao gồm :

  1. AAACertificateServices.crt,
  2. SectigoRSADomainValidationSecureServerCA.crt,
  3. USERTrustRSACertificationAuthority.crt

Trường hợp bạn đăng ký chứng chỉ SSL tại PA Việt Nam, bạn chỉ việc copy/paste các mã SSL nhận được vào các file tương ứng.

Bước 10: cài đặt chứng chỉ SSL cho Xampp trên Windows.

Truy cập thư mục C:\xampp\apache\conf\extra tìm đến file httpd-vhosts.conf đổi tên file này thành httpd-vhosts.conf_bak và tạo một file httpd-vhosts.conf mới. Mục đích để backup file gốc, đề phòng trường hợp có sai sót trong quá trình cài đặt.

Dán toàn bộ nội dung phần code sau đây vào file httpd-vhosts.conf mới và lưu lại.

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot “C:/xampp/htdocs”

ServerName localhost

ServerAlias www.localhost

ErrorLog “logs/localhost-error.log”

CustomLog “logs/localhost-access.log” common

</VirtualHost>

Tương tự như trên, bạn tìm đến file httpd-ssl.conf backup nó và tạo lại file mới. Sau đó dán toàn bộ nội dung dưới đây vào và lưu lại:

Listen 443

SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

SSLHonorCipherOrder on

SSLProtocol all -SSLv3

SSLProxyProtocol all -SSLv3

SSLPassPhraseDialog builtin

SSLSessionCache “shmcb:C:/xampp/apache/logs/ssl_scache(512000)”

SSLSessionCacheTimeout 300

<VirtualHost *:443>

DocumentRoot “C:/xampp/htdocs”

ServerName localhost

ServerAlias www.localhost

ServerAdmin [email protected]

ErrorLog “C:/xampp/apache/logs/localhost-error.log”

TransferLog “C:/xampp/apache/logs/localhost-access.log”

SSLEngine on

SSLCertificateFile “C:/xampp/apache/conf/ssl/certificate.crt”

SSLCertificateKeyFile “C:/xampp/apache/conf/ssl/private.key”

SSLCACertificatePath “C:/xampp/apache/conf/ssl”

SSLCACertificateFile “C:/xampp/apache/conf/ssl/ca_bundle.crt”

<FilesMatch “\.(cgi|shtml|phtml|php)$”>

SSLOptions +StdEnvVars

</FilesMatch>

<Directory “C:/xampp/apache/cgi-bin”>

SSLOptions +StdEnvVars

</Directory>

BrowserMatch “MSIE [2-5]” \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog “C:/xampp/apache/logs/ssl_request_localhost.log” \

“%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \”%r\” %b”

</VirtualHost>

Lưu ý: Trường hợp bạn lưu 3 file SSL ở nơi khác cần điều chỉnh lại các đường dẫn sau:

  1. SSLCertificateFile “C:/xampp/apache/conf/ssl/certificate.crt”
  2. SSLCertificateKeyFile “C:/xampp/apache/conf/ssl/private.key”
  3. SSLCACertificatePath “C:/xampp/apache/conf/ssl”
  4. SSLCACertificateFile “C:/xampp/apache/conf/ssl/ca_bundle.crt”

Bước 11: kiểm tra chứng chỉ SSL

Bạn thực hiện restart lại apache trên XAMPP để chứng chỉ SSL được kích hoạt.

Sau đó bạn truy cập website theo link: https://domain.com/ nếu thấy hình ổ khóa là bạn đã cài đặt thành công.

File đính kèm

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Image CAPTCHA
Enter the characters shown in the image.