Cách cấu hình SSL cho Apache chạy hệ điều hành CentOS 7

Trong hướng dẫn này, chúng ta sẽ cùng tìm hiểu cách cấu hình SSL cho Apache (cài đặt chứng chỉ SSL trên Apache web server chạy hệ điều hành CentOS 7). Ok, bắt đầu ngay thôi nào.

Chuẩn bị:

  • 1 user có quyền sudo.
  • 1 Máy chủ cài hệ điều hành CentOS 7.
  • 1 tên miền với DNS đã trỏ tới web server.

Nhận chứng chỉ SSL.

Bạn có thể nhận chứng chỉ SSL miễn phí hoặc trả phí. Cách làm rất đơn giản.

  • Đăng ký SSL miễn phí, ví dụ như SSL của Let’s Encrypt.
  • Đăng ký SSL trả phí, ví dụ như SSL của Comodo, DigiCert,…

Cách cấu hình SSL cho Apache với Let’s Encrypt SSL.

Xem thêm: Cách tạo chứng chỉ SSL miễn phí với Let’s Encrypt.

Let’s Encrypt là một cơ quan cấp chứng chỉ SSL miễn phí, mở và tự động. Nó sử dụng công cụ phần mềm certbot để quản lý các Chứng chỉ một cách tự động.

Certbot là một công cụ rất mạnh mẽ và tự động. Hãy đảm bảo rằng cài đặt Apache của bạn là hợp lệ và bạn đã cấu hình máy chủ ảo cho tên miền của bạn.

Cài đặt Certbot.

1. Sử dụng lệnh terminal để cài đặt EPEL repositoryyum-utils:

sudo yum –y install epel-release yum-utils

2. Tiếp theo, cài đặt module hỗ trợ SSL cho Apache:

sudo yum -y install mod_ssl

Trong ví dụ này, phiên bản mới nhất của module đã có sẵn.

Cach cau hinh SSL cho Apache voi Let’s Encrypt SSL - img 01

3. Bây giờ chúng ta có thể cài đặt certbot cho Apache:

sudo yum –y install python-certbot-apache

4. Tiếp theo, bạn có thể bắt đầu quá trình lấy chứng chỉ SSL bằng cách nhập lệnh sau:

sudo certbot –apache –d yourdomain.com

Hoặc khởi động certbot bằng lệnh sau:

sudo certbot

5. Tiếp theo, bạn sẽ cần cung cấp địa chỉ email, đọc và chấp nhận điều khoản dịch vụ. Sau đó Certbot sẽ liệt kê các tên miền có sẵn trên máy chủ của bạn. Kích hoạt HTTPS cho 1 tên miền cụ thể hoặc tất cả chúng bằng cách để trống trường domain.

Cach cau hinh SSL cho Apache voi Let’s Encrypt SSL - img 02

Tiếp theo, bạn sẽ nhận được yêu cầu setup cho website được chuyển hướng từ HTTP sang HTTPS.

Cuối cùng, bạn sẽ nhận được thông báo xác nhận rằng bạn đã kích hoạt mã hóa cho tên miền của bạn.

Cài đặt tự động gia hạn chứng chỉ SSL.

Các chứng chỉ SSL được phát hành bởi Let’s Encrypt chỉ có hiệu lực trong vòng 90 ngày. Lệnh certbot renew sẽ kiểm tra các chứng chỉ SSL đã được cài đặt và tự động gia hạn nếu thời hạn còn ít hơn 30 ngày. Để tự động hóa quá trình này, bạn cần tạo một cron job để thực hiện lệnh định kỳ.

Mở trình soạn thảo và nhập lệnh tự động gia hạn SSL như sau:

sudo crontab -e

Tiếp theo, nhập lệnh sau và lưu crontab:

* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1

Cách cấu hình SSL cho Apache với Comodo SSL.

1. Bước đầu tiên là gửi 1 CSR (Certificate Signing Request – Yêu cầu ký chứng chỉ) cho một CA (cơ quan cấp chứng chỉ).

2. Sau khi CA xác nhận yêu cầu của bạn, bạn sẽ nhận được một bản sao của chứng chỉ SSL của bạn. Bây giờ bạn có thể cài đặt chứng chỉ trên Apache webserver chạy hiệu điều hành CentOS 7.

3. Tiếp theo, hãy tải xuống các tệp SSL. Sao chép 2 file là ComodoRSACA.crtPrimary Certificate (yourdomain.crt) vào cùng 1 thư mục trên máy chủ Apache của bạn. Lưu ý: Private key (khóa riêng) mà bạn đã tạo trong quá trình tạo file CSR cần phải ở trên cùng thư mục với 2 file là ComodoRSACA.crt và Primary Certificate (yourdomain.crt).

Cách cấu hình Virtual Hosts cho SSL:

Bây giờ bước tiếp theo sẽ là cấu hình Virtual Hosts để hiển thị chứng chỉ SSL. Cách làm như sau:

1. Truy cập vào tệp tin cấu hình SSL, sử dụng lệnh:

sudo nano /etc/httpd/conf.d/ssl.conf

2. Chỉnh sửa tệp tin cấu hình để trỏ chính xác đến các tệp trên máy chủ của bạn.

Bỏ phần chú thích ở bên dưới dòng lệnh “<VirtualHost_default_:443>” và nhập chính xác đường dẫn tệp tin:

  • DocumentRoot “/var/www/yourdomain.com”
  • ServerName yourdomain.com: 443 Cach cau hinh SSL cho Apache voi Comodo SSL - img-01
  • SSLEngine on
  • SSLCertificateFile – Đường dẫn tới tập tin chứng chỉ SSL của bạn.
  • SSLCertificateKeyFile – Đường dẫn tới tập tin Key.
  • SSLCertificateChainFile– Tệp tin chứng chỉ COMODO. Cach cau hinh SSL cho Apache voi Comodo SSL - img-02

3. Sau khi thực hiện các thay đổi cần thiết, thoát khỏi tệp (Ctrl+X), và nhấn y để lưu các thay đổi.

4. Kiểm tra cấu hình Apache trước khi khởi động lại. Đảm bảo rằng cú pháp là chính xác bằng cách nhập:

sudo apachectl configtest

5. Sau khi hệ thống xác nhận rằng cú pháp là chính xác, khởi động lại Apache bằng lệnh:

sudo systemctl restart httpd

Ok, vậy là bạn đã thiết lập xong máy chủ Apache để có thể sử dụng chứng chỉ SSL.

Cách kiểm tra chứng chỉ SSL đã được cấu hình cho Apache đúng hay chưa.

Để kiểm tra chứng chỉ SSL có hợp lệ không, bạn có thể sử dụng các dịch vụ như SSL Server Test. Xác nhận trạng thái của Chứng chỉ của bạn, và kiểm tra xem tất cả các chi tiết có chính xác không

Hoặc bạn cũng có thể truy cập trang web bằng https:// (thay vì http) để xem chứng chỉ SSL có hiển thị không. Ổ khóa màu xanh cho biết rằng lớp mã hóa bổ sung đã được cài đặt và hoạt động tốt.

Kết luận.

Bằng cách làm theo các hướng dẫn trên đây, bạn đã có thể tự mình cấu hình SSL cho Apache CentOS 7. Nếu bạn có bất cứ câu hỏi nào liên quan đến vấn đề “cài đặt chứng chỉ SSL trên Apache web server chạy hệ điều hành CentOS 7“, hãy để lại ở phần bình luận bên dưới, chúng tôi sẽ trả lời bạn trong thời gian sớm nhất. Chúc bạn thành công!

Bài viết liên quan:

Tags:

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *