Ngày nay, phần lớn lưu lượng Web được mã hóa bằng HTTPS. Điều này ngày càng phổ biến, đặc biệt kể từ khi Let's Encrypt ra mắt – một Cơ quan Cấp chứng chỉ (CA) được các công ty lớn trong ngành hỗ trợ. Let's Encrypt cung cấp chứng chỉ SSL/TLS hoàn toàn miễn phí với thời hạn 90 ngày.
Thông thường, chứng chỉ gắn với một hoặc nhiều tên miền cụ thể, nên nếu bạn có chứng chỉ cho "www.example.com", bạn chỉ dùng được cho chính tên miền đó. Ngược lại, chứng chỉ wildcard được cấp cho tên miền cha và có thể dùng cho bất kỳ tên miền con nào của tên miền cha. Ví dụ, chứng chỉ wildcard cho *.example.com có thể dùng cho "www.example.com", "account.example.com", "mail.example.com", v.v. Chứng chỉ wildcard mang lại lợi ích chỉ cần lấy và gia hạn một chứng chỉ cho tất cả tên miền con hiện tại và tương lai.
Dưới đây là cách lấy chứng chỉ wildcard cho 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.
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 quyền sở hữu tên miền và cấp/gia hạn chứng chỉ. Acme.sh là một client ACME phổ biến được triển khai bằng shell script. Để cài đặt, trước tiên bạn cần cài git:
sudo apt update sudo apt install -y git
Tải repository từ github:
git clone https://github.com/Neilpang/acme.sh.git
Vào thư mục đã clone và chạy script cài đặt:
cd acme.sh/ ./acme.sh --install
Tải lại phiên shell để bắt đầu dùng acme.sh:
exec bash
2. Sử Dụng acme.sh Để Cấp Chứng Chỉ Wildcard
Để Let's Encrypt cấp chứng chỉ wildcard, bạn phải giải quyết thử thách dựa trên DNS gọi là Xác thực Tên miền (DV). Acme.sh tích hợp tiện lợi với API của nhiều nhà cung cấp DNS lớn và tự động hóa hoàn toàn quy trình này.
Cloudflare
Nếu bạn dùng dịch vụ DNS của Cloudflare, đăng nhập tài khoản và sao chép khóa API toàn cục. Lưu nó làm biến môi trường trên hệ thống:
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ỉ wildcard:
acme.sh --issue --dns dns_cf -d '*.example.org'
NameCheap
Nếu bạn dùng nameserver của NameCheap, làm theo hướng dẫn của họ để bật truy cập API, sau đó xuất các biến cần thiết:
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ỉ wildcard:
acme.sh --issue --dns dns_namecheap -d '*.example.org'
DigitalOcean
Nếu tên miền dùng DNS của DigitalOcean, làm theo hướng dẫn của họ để tạo token truy cập cá nhân với quyền đọc và ghi. Xuất khóa/token API:
export DO_API_KEY="your_digitalocean_api_token"
Yêu cầu chứng chỉ wildcard:
acme.sh --issue --dns dns_dgon -d '*.example.org'
GoDaddy
Nếu tên miền dùng DNS của GoDaddy, sao chép khóa API và secret. Xuất chúng ra môi trường:
export GD_Key="your_godaddy_api_key" export GD_Secret="your_godaddy_api_secret"
Yêu cầu chứng chỉ wildcard:
acme.sh --issue --dns dns_gd -d '*.example.org'
Vultr
Nếu bạn dùng DNS của Vultr, bạn cần token truy cập cá nhân hoặc sub-profile có quyền "Quản lý DNS".
export VULTR_API_KEY="your_vultr_api_key"
Yêu cầu chứng chỉ wildcard:
acme.sh --issue --dns dns_vultr -d '*.example.org'
RackSpace
Nếu bạn dùng RackSpace, bạn cần tên người dùng và khóa API. Xuất chúng như sau:
export RACKSPACE_Username="your_rackspace_username" export RACKSPACE_Apikey="your_rackspace_api_key"
Yêu cầu chứng chỉ wildcard:
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ể dùng API của nhà cung cấp DNS, bạn có thể thủ công tạo bản ghi DNS để hoàn thành thử thách xác thực tên miền, tuy nhiên bạn cũng phải lặp lại quy trình thủ công này định kỳ để gia hạn tên miền.
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ị token xác minh mà bạn phải thêm làm bản ghi DNS TXT.

Sao chép token và đăng nhập bảng điều khiển DNS. Tạo bản ghi DNS mới loại TXT cho tên miền con _acme-challenge và dán token.

Đợi vài phút để bản ghi mới có thể truy cập, 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í File
Bạn sẽ tìm thấy chứng chỉ và các file liên quan khác trong thư mục ".acme.sh" trong thư mục home.
- Chứng chỉ được lưu tại "~/.acme.sh/*.example.org/*.example.org.cer".
- Khóa chứng chỉ được lưu tại "~/.acme.sh/*.example.org/*.example.org.key". File này phải giữ bí mật và không bao giờ chia sẻ.
- File chứng chỉ fullchain, thường được dùng nhiều nhất, lưu tại "~/.acme.sh/*.example.org/fullchain.cer". File này kết hợp chứng chỉ của bạn với chứng chỉ của cơ quan cấp (chứng chỉ trung gian).
Làm theo các bước trên, bạn sẽ có thể lấy chứng chỉ wildcard tên miền từ Let's Encrypt.