Hướng dẫn bật TLS/SSL trên XAMPP


Chào mọi người ! cho em hỏi về cách cài chứng chỉ bảo mật trên XAMPP.
( hiện tại web WordPress đang đặt trong htdocs của xampp và các máy trong mạng LAN truy cập bình thường ạ )


Đây là nội dung file httpd-ssl.conf trong C:\xampp\apache\conf\extra : https://textuploader.com/1ovbx

3 posts were merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Về cơ bản, để sử dụng TLS trên Web Server, bạn phải có SSL certificate, sau đó copy nó vào một thư mục trên Server và đặt các chỉ thị cần thiết vào trong file cấu hình của phần mềm Web Server (trong trường hợp của bạn là Apache).

  1. Đầu tiên là đối với SSL certificate, bạn cần có 2 file, một là certificate (thường có phần mở rộng là .crt), và hai là key (có phần mở rộng là .key). Trong một số trường hợp, cả hai file này có thể được gộp chung vào một file với phần mở rộng là .pfx. Tuy nhiên, cái bạn cần là 2 file này. Các file này sẽ được nhà cung cấp certificate gởi cho bạn (nếu bạn mua các certificate thương mại thông qua các nhà cung cấp như Sectigo chẳng hạn) hoặc do bạn tự tạo ra (gọi là self-signed certificate). Các self-signed certificate có lợi thế là miễn phí, nhưng chỉ dùng cho môi trường nội bộ như localhost hoặc các máy PC trong LAN của bạn (dường như là trong trường hợp của bạn phải không?) và hoàn toàn không có tác dụng nếu Web Server của bạn cho phép truy cập qua Internet. Ngay cả trong các PC trong môi trường nội bộ, bạn cũng phải bắt buộc các Web browser phải “trust” certificate này thì mới có thể truy cập được Web Server qua giao thức https. Để tạo ra các self-signed certificate, bạn có thể theo các chỉ dẫn ở đây: https://www.sslshopper.com/article-how-to-create-and-install-an-apache-self-signed-certificate.html.
    Ngoài ra, hiện nay còn có một hình thức thứ ba là các certificate chính thức nhưng miễn phí được cung cấp bởi tổ chức Let’s Encrytp (https://letsencrypt.org), tuy nhiên, để có được các certificate này, bạn cần có một domain name chính thức và phải renew lại mỗi 90 ngày.
  2. Sau khi có được certificate, bạn cần copy các file này vào một thư mục và sau đó đặt các chỉ thị cần thiết vào trong file cấu hình của phần mềm Web Server như tôi đã nói ở trên. Quy ước về thư mục và các chỉ thị khác nhau tùy theo phần mềm Web Server như là Apache, nginx, IIS. Vì bạn đang sử dụng XAMPP có sẵn Apache, bạn có thể làm theo hướng dẫn trong phần " Install Your Self Signed Certificate" cũng ở Web site mà tôi đã nói ở trên (https://www.sslshopper.com/article-how-to-create-and-install-an-apache-self-signed-certificate.html). Sau khi đã thực hiện các công đoạn cần thiết, bạn cần khởi động lại Web Server để bắt đầu sử dụng các certificate.

Theo như file cấu hình bạn cung cấp thì bạn cần có các file certificate tại thư mục “conf/ssl.crt/”. Bạn đã có các file mà tôi đã nói tại thư mục này chưa?

Tôi không sử dụng qua XAMPP mà chỉ dùng SSL trên các Web Server trên Linux. Do đó, có thể bạn cần phải làm thêm một số công đoạn nhỏ ngoài các chỉ dẫn của tôi. Nhưng về cơ bản, đó là những gì cần thiết để cài đặt SSL Certificate cho bất kỳ Web Server nào. Về lâu dài, tôi có lời một khuyên nhỏ cho bạn: XAMPP chỉ là một gói phần mềm “tiện lợi” cho những người mới sử dụng hoặc lâu năm mà “làm biếng” thiết lập cấu hình cho nên không rõ ràng lắm. Nếu bạn muốn hiểu rõ và giải quyết những vấn đề tương tự như thế này một cách tường tận thì nên tập cài đặt và thiết lập cấu hình cho từng thành phần cơ bản như là Apache Web Server, MySQL (hay MariaDB), PHP, Perl thay vì dùng cả gói như vậy.

11 Likes

cảm ơn anh nhiều vì đã nhiệt tình giúp đỡ :heart_eyes:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?