Cài đặt HTTPS với Let's Encrypt
TIL
499
White

dominhhai viết ngày 01/09/2017

Sử dụng Let's Encrypt để https hóa máy chủ

Let's Encrypt là một dịch vụ ngon-bổ-miễn phí cho việc HTTPS hóa máy chủ. Môi trường được sử dụng trong bài viết này gồm máy chủ CentOS 7 và Nginx. Các môi trường khác có thể hoàn toàn thực hiện tương tự.

1. Kiểm tra phiên bản Python

$ python --version

Yêu cầu Python v2.7.x trở lên.

2. Kiểm tra xem ta đã mở cổng 443 hay chưa

$ sudo cat /etc/sysconfig/iptables

Cần mở cổng 443 cho https thông được.

3. Tải về certbot từ Github

$ git clone https://github.com/certbot/certbot && cd certbot

4. Lấy và tạo file Cert

$ ./certbot-auto certonly --standalone --email EMAIL_ADDRESS_HERE -d DOMAIN_HERE

5. Kiểm tra các file cert được sinh ra

$ sudo ls /etc/letsencrypt/live/DOMAIN_HERE

6. Backup các file cert

$ sudo cp -r /etc/letsencrypt/live/DOMAIN_HERE ../sslcert

7. Cấu hình Nginx

$ sudo vi /etc/nginx/conf.d/default.conf

Nội dung:

...
# tự động chuyển toàn bộ url http sang https
server {
     listen  80;
     server_name  localhost;
     return 301 https://$host$request_uri;
}

#cấu hình server https
server {
    listen       443 ssl;
    server_name  localhost;
    #use fullchain.pem instead of cert.pem
    ssl_certificate         /etc/letsencrypt/live/DOMAIN_HERE/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/DOMAIN_HERE/privkey.pem;
    ...
}
...

8. Khởi động lại Nginx

$ sudo systemctl reload nginx

9. Tự động gia hạn chứng nhận HTTPS

$ sudo crontab -e

Nội dung:

00 04 14 * * ~/certbot/certbot-auto renew --post-hook "systemctl restart nginx" 1 > /dev/null 2 > /dev/null

Ví dụ này tự động gia hạn vào lúc 4h sáng ngày 14 hàng tháng. Tùy vào tình huống mà ta thay đổi cho linh hoạt với lịch máy chủ của mình.

Đơn giản! Done!

@dominhhai

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

dominhhai

5 bài viết.
27 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
25 2
1. Giới thiệu Với các đặc tả JavaScript cũ, ta phải sử dụng các hàm phản hồi để xử lý các thao tác bất đồng bộ. Tuy nhiên việc này dẫn tới tình tr...
dominhhai viết hơn 1 năm trước
25 2
White
14 11
Bài này mình copy lại từ (Link) của mình, muốn chia sẻ thêm cho anh em. Có chỗ nào sai sót, chưa hợp lý, hay thiếu thốn thì mong được mọi người chỉ...
dominhhai viết hơn 2 năm trước
14 11
White
6 0
(Ảnh) Các trình soạn thảo mã lệnh hầu hết có tính năng autocomplete (tự động hoàn thiện lệnh) khi gõ. Nhờ có tính năng này mà chúng ta có thể gõ m...
dominhhai viết gần 2 năm trước
6 0
Bài viết liên quan
White
18 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 1 năm trước
18 1
White
1 1
Chào mọi người, hôm nay mình viết một bài TIL nhỏ về cách lấy độ phân giải của màn hình hiện tại đang sử dụng. xdpyinfo | grep dimensions Kết quả...
namtx viết 7 tháng trước
1 1
White
8 0
Lấy fake path của file trong html input Ngữ cảnh: em cần làm một cái nút tải ảnh lên có preview. GIải pháp đầu: Dùng (Link) đọc file ảnh thành ba...
Hoàng Duy viết gần 2 năm trước
8 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
5 bài viết.
27 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!