Ngày nay, một phần lớn lưu lượng truy cập Web được mã hóa bằng HTTPS. Nó ngày càng trở nên phổ biến, đặc biệt là kể từ khi giới thiệu Let’s Encrypt, một Cơ quan cấp chứng chỉ (CA) được hỗ trợ bởi các công ty lớn trong ngành. Let’s Encrypt cung cấp chứng chỉ SSL / TLS hoàn toàn miễn phí với hiệu lực trong 90 ngày.
Nói chung, chứng chỉ được gắn với một hoặc nhiều tên miền cụ thể, vì vậy nếu bạn có chứng chỉ cho “www.example.com”, bạn chỉ có thể sử dụng chứng chỉ đó với tên miền chính xác này. Mặt khác, chứng chỉ ký tự đại diện được cấp cho tên miền mẹ và có thể được sử dụng với bất kỳ tên miền phụ nào của miền mẹ. Ví dụ:chứng chỉ ký tự đại diện cho * .example.com có thể được sử dụng cho “www.example.com,” “account.example.com”, “mail.example.com,” v.v. Do đó, chứng chỉ ký tự đại diện mang lại lợi ích chỉ phải lấy và gia hạn một chứng chỉ duy nhất cho tất cả các miền phụ hiện tại và trong tương lai của bạn.
Dưới đây là cách lấy chứng chỉ ký tự đại diện cho một tên miền đã đăng ký từ Let’s Encrypt trên Ubuntu, Debian và các bản phân phối dựa trên Debian khác.
1. Cài đặt acme.sh
Let’s Encrypt sử dụng giao thức Môi trường quản lý chứng chỉ tự động (ACME) để xác minh rằng bạn sở hữu tên miền của mình và cấp / gia hạn chứng chỉ. Acme.sh là một ứng dụng khách ACME phổ biến được triển khai trong tập lệnh shell. Để cài đặt nó, trước tiên bạn cần cài đặt git:
sudo apt update sudo apt install -y git
Tải xuống kho lưu trữ từ github:
git clone https://github.com/Neilpang/acme.sh.git
Nhập thư mục nhân bản và bắt đầu tập lệnh cài đặt:
cd acme.sh/ ./acme.sh --install
Tải lại phiên shell của bạn để bắt đầu sử dụng acme.sh:
exec bash
2. Sử dụng acme.sh để cấp chứng chỉ ký tự đại diện.
Để Let’s Encrypt cấp chứng chỉ ký tự đại diện, bạn phải giải quyết một thách thức dựa trên DNS được gọi là Xác thực miền (DV). Acme.sh tích hợp thuận tiện với các API của nhiều nhà cung cấp DNS lớn và hoàn toàn tự động hóa quá trình này.
Cloudflare
Nếu bạn đang sử dụng dịch vụ DNS của Cloudflare, hãy đăng nhập vào tài khoản của bạn và sao chép khóa API toàn cầu của bạn. Lưu nó dưới dạng một biến môi trường trên hệ thống của bạn:
export CF_Key="your_cloudflare_api_key" export CF_Email="your_cloudflare_email_address"
Bây giờ bạn có thể yêu cầu chứng chỉ ký tự đại diện:
acme.sh --issue --dns dns_cf -d '*.example.org'
NameCheap
Nếu bạn đang sử dụng máy chủ định danh NameCheap, hãy làm theo hướng dẫn của họ về cách bật quyền truy cập API, sau đó xuất các biến bắt buộc:
export NAMECHEAP_SOURCEIP="your_server_ip" export NAMECHEAP_USERNAME="your_namecheap_username" export NAMECHEAP_API_KEY="your_namecheap_api_key"
Yêu cầu chứng chỉ ký tự đại diện:
acme.sh --issue --dns dns_namecheap -d '*.example.org'
DigitalOcean
Nếu miền của bạn sử dụng DNS của DigitalOcean, hãy làm theo hướng dẫn của họ về cách tạo mã thông báo truy cập cá nhân với quyền đọc và ghi. Xuất khóa / mã thông báo API của bạn:
export DO_API_KEY="your_digitalocean_api_token"
Yêu cầu chứng chỉ ký tự đại diện:
acme.sh --issue --dns dns_dgon -d '*.example.org'
GoDaddy
Nếu miền của bạn sử dụng DNS của GoDaddy, hãy sao chép khóa API và bí mật của bạn. Xuất chúng sang môi trường của bạn:
export GD_Key="your_godaddy_api_key" export GD_Secret="your_godaddy_api_secret"
Yêu cầu chứng chỉ ký tự đại diện:
acme.sh --issue --dns dns_gd -d '*.example.org'
Vultr
Nếu bạn đang sử dụng Vultr’s DNS, bạn sẽ cần mã thông báo truy cập cá nhân của mình hoặc một hồ sơ phụ có đặc quyền “Quản lý DNS”.
export VULTR_API_KEY="your_vultr_api_key"
Yêu cầu chứng chỉ ký tự đại diện:
acme.sh --issue --dns dns_vultr -d '*.example.org'
RackSpace
Nếu bạn đang sử dụng RackSpace, bạn sẽ cần tên người dùng và khóa API của mình. Xuất chúng như hình dưới đây:
export RACKSPACE_Username="your_rackspace_username" export RACKSPACE_Apikey="your_rackspace_api_key"
Yêu cầu chứng chỉ ký tự đại diện:
acme.sh--issue --dns dns_rackspace -d '*.example.org'
Quy trình thủ công
Nếu bạn không muốn hoặc không thể sử dụng API do nhà cung cấp DNS của mình cung cấp, bạn có thể tạo bản ghi DNS theo cách thủ công để hoàn thành thử thách xác thực miền, mặc dù bạn cũng sẽ phải lặp lại quy trình thủ công này thường xuyên để gia hạn miền của mình.
acme.sh --issue --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'
Lệnh này sẽ hiển thị mã thông báo xác minh mà bạn sẽ phải thêm làm bản ghi TXT DNS.
Sao chép mã thông báo và đăng nhập vào bảng điều khiển DNS của bạn. Tạo bản ghi DNS mới thuộc loại TXT cho _acme-challenge
tên miền phụ và dán mã thông báo.
Chờ vài phút để bản ghi mới có thể truy cập được, sau đó yêu cầu chứng chỉ:
acme.sh --renew --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'
Vị trí tệp
Bạn sẽ tìm thấy chứng chỉ của mình và các tệp liên quan khác trong thư mục “.acme.sh” trong thư mục chính của bạn.
- Bản thân chứng chỉ được lưu dưới dạng “~ / .acme.sh / *. example.org/*.example.org.cer.”
- Khóa chứng chỉ được lưu dưới dạng “~ / .acme.sh / *. example.org/*.example.org.key.” Tệp này phải được giữ kín và không bao giờ được chia sẻ.
- Tệp chứng chỉ fullchain, là tệp mà bạn có nhiều khả năng sẽ sử dụng, được lưu dưới dạng “~ / .acme.sh / *. example.org/fullchain.cer.” Tệp này kết hợp chứng chỉ của bạn với chứng chỉ của cơ quan cấp (được gọi là chứng chỉ trung gian).
Làm theo các bước ở trên và bạn sẽ có thể nhận được chứng chỉ miền ký tự đại diện Let’s Encrypt.