- vừa được xem lúc

Kỹ thuật tạo chứng chỉ SSL cho subdomain với Cloudflare & Docker

0 0 24

Người đăng: Kien Le

Theo Viblo Asia

Let’s Encrypt giúp bạn dễ dàng tạo và cài đặt chứng chỉ SSL miễn phí bằng ứng dụng khách certbot ACME trên máy chủ web. Nhưng nếu bạn muốn dùng ssl cho subdomain mà không cần phải tạo certificate nhiều lần cho mỗi subdomain thì bạn làm như thế nào?

Hôm nay mình chia sẻ các bạn cách đơn giản để làm điều này với Cloudflare & Docker .

Cách mà challenge DNS hoạt động với certbot

Bạn tham khảo tài liệu certbot giải thích về điều này rõ hơn,và mình tóm lại các bước challenge như sau:

  1. Certbot yêu cầu chứng chỉ từ máy chủ Let’s Encrypt
  2. Máy chủ Let’s Encrypt trả về nội dung challenge
  3. Plugin tạo bản ghi DNS TXT chứa nội dung challenge
  4. Máy chủ Let’s Encrypt xác thực bản ghi DNS TXT
  5. Máy chủ Let’s Encrypt cấp chứng chỉ

Chuẩn bị cloudflare và docker

Ở đây, mình sử dụng Cloudflare làm nhà cung cấp DNS và mình sẽ tạo chứng chỉ cho domain test là tova17.site. Các bạn chuẩn bị 1 vps hoặc máy tính cá nhân có cài đặt Docker

Các bước thực hiện

Đầu tiên tạo các thư mục sau trên VPS:

sudo mkdir /etc/letsencrypt
sudo mkdir /var/lib/letsencrypt

Tạo một Cloudflare credentials Các bạn phải có một tài khoản Cloudflare và trỏ DNS về trên này nhé

image.png

Tạo một API token qua cloudflare dashboard. Edit zone DNS image.png

Lưu token và tạo một file cloudflare.ini

vi /etc/letsencrypt/cloudflare.ini

Điền nội dung như sau

# Cloudflare API token used by Certbot
dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567

Lưu lại và thoát

Tiếp theo bạn chạy docker để cấp tạo certificate cho subdomain *.tova17.site

docker run -it --rm --name certbot \ -v "/etc/letsencrypt:/etc/letsencrypt" \ -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \ certbot/dns-cloudflare \ certonly --dns-cloudflare \ --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \ -d *.tova17.site

Khi chạy sẽ hỏi phần thông tin các bạn nhập email và chọn Y các câu hỏi như các bước bạn tạo certificate với Letsencrypt.

Tất các các file cert sẽ lưu tại /etc/letsencrypt/live/$domain

Bây giờ các bạn dùng subdomain SSL mà không cần tạo certificate cho từng subdomain rồi.

Lưu ý: Letsencrypt certificate sẽ hết hạn trong 3 tháng do đó bạn cần tạo 1 shedule để tự động renew các bạn nhé

Follow các kênh mình chia sẻ

Vibo chia sẻ

Youtube

Blog chia sẻ

Các bạn tham khảo video

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 396

- vừa được xem lúc

Phần 1: Giới thiệu về Kubernetes

Kubernetes là gì. Trang chủ: https://kubernetes.io/. Ai cần Kubernetes.

0 0 100

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 1- Lịch sử)

1. Vì sao nên sử dụng. . .

0 0 104

- vừa được xem lúc

Docker - những kiến thức cơ bản phần 1

Giới thiệu. Nếu bạn đang làm ở một công ty công nghệ thông tin, chắc rằng bạn đã được nghe nói về Docker.

0 0 78

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 2 - Dockerfile)

1. Mở đầu.

0 0 67

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 121