Sử dụng open ssl trên centos

Đảm bảo CentOS đã cài đặt open ssl với lệnh sau:

yum install mod_ssl openss

Phát sinh các chứng thực - file certificate

Giả sử các file sinh ra bạn sẽ lưu trữ ở thư mục /home/xuanthulab.net/cert

Đầu tiên bạn chạy lệnh sau:

cd /home/xuanthulab.net/cert
openssl genrsa -out ca.key 2048

Sau lệnh này openssl sinh ra file tên ca.key chứa RSA PRIVATE KEY.

Tiếp theo chạy lệnh:

openssl req -new -key ca.key -out ca.csr

Bạn nhập các thông tin theo yêu cầu như sau:

Country Name (2 letter code) [XX]:VN
State or Province Name (full name) []:VIETNAM
Locality Name (eg, city) [Default City]:Hanoi
Organization Name (eg, company) [Default Company Ltd]: XUANTHULAB.NET
Organizational Unit Name (eg, section) []:XUANTHULAB.NET
Common Name (eg, your name or your server's hostname) []:XUANTHULAB.NET
Email Address []: info@xuanthulab.net

Sau lệnh này openssl sinh ra file ca.csr chứa CERTIFICATE REQUEST.

Tiếp theo chạy lệnh

openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Sau lệnh này nó sinh ra file CERTIFICATE tên: ca.crt

Cấu hình cho VirtualHost với cổng 443

Để sử dụng các file phát sinh trên, cấu hình VirtualHost như sau:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /home/xuanthulab.net/cert/ca.crt
        SSLCertificateKeyFile /home/xuanthulab.net/cert/ca.key
        <Directory /var/www/vhosts/yoursite.com/httpsdocs>
        AllowOverride All
        </Directory>
        DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
        ServerName yoursite.com
</VirtualHost>

Lúc này có thể truy cập với https.

Sử dụng Let's Encrypt lấy SSL miễn phí

Nếu hệ thống chưa cài đặt letsencrypt hãy cài theo các bước sau:

yum install epel-release
yum install git
cd /usr/local/
git clone https://github.com/letsencrypt/letsencrypt

Để lấy SSL chạy lệnh sau, ví dụ cho domain xuanthulab.net

cd /usr/local/letsencrypt
./letsencrypt-auto  -d xuanthulab.net
service httpd restart

Như vậy đã có chứng chỉ SSL miễn phí từ https://letsencrypt.org/, nó có thời hạn 90 ngày. Hết 90 ngày bạn cần gia hạn tiếp:

/usr/local/letsencrypt/letsencrypt-auto --renew-by-default -d xuanthulab.net

 

Đăng ký theo dõi ủng hộ kênh