Đăng ký chứng chỉ SSL cho website trong ServBay bằng ACME
ServBay hỗ trợ sử dụng giao thức ACME để tự động đăng ký chứng chỉ SSL/TLS cho website phát triển local của bạn. ACME (Automated Certificate Management Environment) là giao thức chuẩn cho việc quản lý vòng đời chứng chỉ (bao gồm đăng ký, gia hạn, thu hồi) một cách tự động. Thông qua bảng điều khiển quản lý ACME do ServBay cung cấp, bạn dễ dàng cấu hình và áp dụng chứng chỉ SSL đáng tin cậy cho website local - điều rất quan trọng để mô phỏng môi trường production và kiểm thử các tính năng liên quan HTTPS.
Mặc định, ServBay ưu tiên sử dụng ZeroSSL để phát hành chứng chỉ, tuy nhiên bạn hoàn toàn linh hoạt chọn Let's Encrypt hoặc Google Trust Services hoặc các tổ chức phát hành chứng chỉ (CA) tương thích ACME khác.
TIP
Để đảm bảo môi trường phát triển local càng giống môi trường production càng tốt, việc sử dụng chứng chỉ SSL đáng tin cậy là rất quan trọng. Tính năng ACME của ServBay giúp quá trình này trở nên cực kỳ đơn giản.
Giải thích các khái niệm cốt lõi
Trước khi bắt đầu, hiểu một số thuật ngữ cốt lõi sẽ giúp bạn vận dụng hiệu quả chức năng ACME của ServBay:
- Giao thức ACME: Là chuẩn mở giúp tự động hóa tương tác giữa tổ chức phát hành chứng chỉ (CA) với server, nhằm tự động xin, gia hạn và quản lý chứng chỉ số.
- Xác minh DNS-01 (qua DNS API): ACME hỗ trợ nhiều phương thức xác minh quyền sở hữu tên miền, trong đó ServBay chủ yếu sử dụng phương thức DNS-01. Theo đó, CA yêu cầu bạn thêm một bản ghi TXT đặc biệt vào DNS domain. Khi xác minh sự tồn tại và nội dung của bản ghi này, CA xác nhận bạn kiểm soát domain đó. Ưu điểm của phương thức này:
- Không cần cho phép môi trường phát triển local của bạn truy cập trực tiếp từ Internet.
- Dù các cổng local 80/443 bị firewall hoặc ISP chặn, vẫn xác thực thành công.
- External Account Binding (EAB - Liên kết tài khoản ngoài): Một số CA (như Google Trust Services hoặc ZeroSSL) yêu cầu liên kết tài khoản giữa client ACME (ở đây là acme.sh tích hợp trong ServBay) và tài khoản đã đăng ký tại CA khi đăng ký chứng chỉ lần đầu bằng ACME. Thông thường, bạn cần nhập cặp Key ID và HMAC Key.
- Chứng chỉ ECC vs RSA:
- RSA: Thuật toán mã hóa truyền thống, hỗ trợ rộng rãi, nhưng cần độ dài khóa lớn (2048 bit hoặc 4096 bit) để đảm bảo an toàn, đồng thời chi phí tính toán cao hơn.
- ECC (Elliptic Curve Cryptography): Thuật toán mã hóa hiện đại hơn, cung cấp bảo mật tương đương với độ dài khóa ngắn hơn nhiều (ví dụ 256 hoặc 384 bit), mang lại hiệu suất cao hơn, thời gian handshake nhanh hơn, tiết kiệm băng thông và bảo mật tiền tiến tốt hơn. ServBay khuyến nghị ưu tiên sử dụng chứng chỉ ECC.
Điều kiện tiên quyết
ServBay sử dụng phương thức DNS API để đăng ký ACME, nên không bắt buộc website local của bạn công khai trên Internet. Trước khi tiến hành đăng ký chứng chỉ SSL bằng ACME, cần đảm bảo các điều kiện sau:
- Sở hữu domain: Bạn phải sở hữu một tên miền đã đăng ký và có quyền chỉnh sửa bản ghi DNS của nó.
- Lấy API Key của nhà cung cấp DNS: Trong suốt quá trình đăng ký ACME, cần thiết lập bản ghi TXT xác thực thông qua DNS API. Do đó, bạn cần có API Key hoặc thông tin xác thực của nhà cung cấp DNS (nền tảng đang lưu trữ phân giải DNS của domain, có thể khác với nơi mua domain). Xem danh sách các nhà cung cấp DNS và hướng dẫn lấy API KEY tại mục DNS API trên Wiki của
acme.sh
(tiếng Anh): How to use DNS API. Hãy tìm theo nhà cung cấp bạn sử dụng. - Có thông tin EAB (nếu dùng Google Trust Services hoặc đăng ký ZeroSSL lần đầu): Nếu chọn Google Trust Services làm CA, bạn cần lấy thông tin EAB trên Google Cloud. Xem hướng dẫn của Google Cloud tại: Obtaining EAB credentials from Google Cloud. Với ZeroSSL, đôi khi lần đầu đăng ký cần xác thực email hoặc API Key.
Đăng ký SSL với ACME trong ServBay
Thực hiện các bước sau để xin chứng chỉ SSL cho website local của bạn trong ServBay thông qua ACME:
Mở bảng điều khiển quản lý của ServBay Khởi động ứng dụng ServBay, truy cập bảng điều khiển từ biểu tượng trên menu hệ thống hoặc trên Dock.
Đi tới quản lý chứng chỉ SSL Trong bảng điều khiển, ở thanh điều hướng bên trái, nhấn vào mục
SSL 证书
(Chứng chỉ SSL).Bắt đầu xin chứng chỉ mới Ở giao diện quản lý chứng chỉ SSL, nhấn nút hình dấu
+
ở góc phải, chọn申请新证书
(Đăng ký chứng chỉ mới).Cấu hình thông tin chứng chỉ
- Tên chứng chỉ: Đặt tên gợi nhớ cho chứng chỉ để dễ nhận diện (ví dụ:
servbay-demo-ssl
). - Mục đích: Chọn
TLS/SSL
. - Phương thức đăng ký: Chọn
ACME
.
- Tên chứng chỉ: Đặt tên gợi nhớ cho chứng chỉ để dễ nhận diện (ví dụ:
Chọn tổ chức phát hành chứng chỉ (CA) Ở menu lựa chọn
签发方
(Tổ chức phát hành), chọn CA mong muốn. Mặc định làZeroSSL
. Bạn cũng có thể chọnLet's Encrypt
hoặcGoogle Trust Services
nếu cần. Ví dụ minh họa bên dưới sử dụngZeroSSL
.Chọn nhà cung cấp DNS API Ở menu
DNS API 提供商
(Nhà cung cấp DNS API), chọn nơi quản lý DNS cho domain của bạn. Ví dụ chọnCloudflare
. Lưu ý: lựa chọn này liên quan đến nền tảng đang lưu trữ DNS thực tế, không phải nơi mua domain (hai nơi này có thể khác nhau).Chọn thuật toán chứng chỉ và độ dài khóa
- Thuật toán: Khuyến nghị mặc định là
ECC
do hiệu suất, mức độ bảo mật cao. Nếu cần tương thích thiết bị cũ, bạn có thể chọnRSA
. - Độ dài khóa: Với ECC, độ dài mặc định thường là
384
bit (đã đủ mức an toàn cao). Nếu dùng RSA thường chọn2048
hoặc4096
bit.
- Thuật toán: Khuyến nghị mặc định là
Nhập thông tin xác thực Dựa vào CA và nhà cung cấp DNS bạn đã chọn, hệ thống sẽ hiển thị các trường cần điền thông tin xác thực.
- Với ZeroSSL, có thể cần nhập email.
- Với Cloudflare DNS API, hãy nhập API Key hoặc thông tin chứng thực. Tham khảo hướng dẫn chi tiết theo từng nhà cung cấp tại Wiki
acme.sh
.
WARNING
Lưu ý: Chỉ dán giá trị API Key hoặc secret, không thêm tiền tố lệnh shell như
export
vào ô nhập liệu.Khai báo domain Ô
域名
(Domain), nhập domain bạn muốn đăng ký SSL (ví dụ:servbay.demo
hoặc*.servbay.demo
). Nếu xin wildcard (chẳng hạn*.servbay.demo
), đảm bảo nhà cung cấp DNS của bạn hỗ trợ thao tác tự động bản ghi TXT dạng wildcard.Tiến hành đăng ký Kiểm tra chính xác tất cả thông tin, nhấn
请求
(Gửi yêu cầu). ServBay sẽ tự động sử dụng công cụacme.sh
tích hợp, dựa trên thông tin DNS API để xác thực domain và gửi yêu cầu xin chứng chỉ về CA.
Quá trình đăng ký có thể mất vài phút hoặc lâu hơn, tùy tốc độ cập nhật bản ghi DNS và phản hồi từ CA. Bạn có thể theo dõi quá trình này trong nhật ký hoặc danh sách chứng chỉ của ServBay. Khi thành công, chứng chỉ sẽ hiển thị trong mục SSL 证书
(Chứng chỉ SSL).
Áp dụng chứng chỉ vào website trên ServBay
Sau khi đăng ký ACME SSL thành công, bạn có thể sử dụng chứng chỉ này cho website cấu hình trên ServBay như sau:
- Vào mục
网站
(Website) trong menu trái của bảng điều khiển ServBay. - Chọn website cần cấu hình SSL, nhấn nút chỉnh sửa (biểu tượng bút chì) bên phải.
- Ở trang chi tiết cấu hình, tìm đến tùy chọn
SSL 证书
(Chứng chỉ SSL). - Ở menu thả xuống, chọn tên chứng chỉ ACME vừa xin thành công.
- Đảm bảo đã bật công tắc
启用 SSL
(Bật SSL). - Lưu cấu hình website. Website của bạn sẽ truy cập được qua HTTPS ngay sau đó.
Gia hạn chứng chỉ ACME
Chứng chỉ ACME (như từ Let's Encrypt hoặc ZeroSSL) thường có thời hạn 90 ngày. Để website luôn duy trì kết nối HTTPS hợp lệ, cần gia hạn chứng chỉ trước khi hết hạn.
ServBay sẽ tự động giám sát hiệu lực các chứng chỉ đăng ký qua ACME. Khi chứng chỉ sắp hết hạn, ServBay sẽ tự động dùng thông tin DNS API đã cấu hình để gửi yêu cầu gia hạn lên CA.
Chỉ cần đảm bảo API Key DNS của bạn hợp lệ và dịch vụ DNS không gián đoạn, bạn không cần can thiệp thủ công vào quá trình gia hạn. ServBay sẽ xử lý toàn bộ ngầm trong nền.
FAQ & Xử lý sự cố
- Đăng ký thất bại, lỗi xác thực DNS?
- Kiểm tra kỹ giá trị API Key/Credential nhập đã đúng chưa và có quyền tạo sửa bản ghi TXT hay không.
- Đảm bảo bạn đã chọn đúng
DNS API 提供商
(nhà cung cấp DNS) phù hợp với domain đang quản lý DNS thực tế. - Đôi lúc việc cập nhật DNS toàn cầu có thể mất vài phút đến vài chục phút. Hãy thử lại sau.
- Kiểm tra lại chính tả domain nhập vào.
- Đăng ký thất bại, lỗi liên quan EAB?
- Nếu là lần đầu sử dụng Google Trust Services hoặc ZeroSSL, kiểm tra xem đã lấy đúng và nhập đầy đủ thông tin EAB chưa.
- Nếu trước đây đăng ký được, giờ lại không, có thể thông tin EAB đã hết hạn hoặc bị thu hồi - hãy lấy lại thông tin mới.
- Đăng ký thất bại, thông báo giới hạn tần suất (Rate Limit)?
- Tổ chức phát hành chứng chỉ áp dụng hạn mức số lần xin chứng chỉ cho mỗi domain hoặc địa chỉ IP trong một khoảng thời gian nhất định. Đăng ký/làm mới liên tục nhiều lần có thể bị giới hạn. Hãy đợi vài tiếng – vài ngày rồi thử lại.
- Đăng ký thành công nhưng trình duyệt vẫn cảnh báo không bảo mật?
- Kiểm tra chắc chắn website đã áp dụng đúng chứng chỉ vừa xin thành công và đã bật SSL trên cấu hình của ServBay.
- Thử xóa cache trình duyệt hoặc duyệt ở chế độ ẩn danh/private.
- Kiểm tra lại file Hosts trên máy hoặc các cài đặt mạng đã trỏ chính xác về ServBay chưa.
- ServBay sẽ tự động gia hạn vào thời điểm nào? ServBay sẽ bắt đầu quá trình gia hạn tự động trước nhiều ngày khi chứng chỉ sắp hết hạn (ví dụ, trước 30 ngày). Chỉ cần ServBay đang chạy, có mạng Internet, mọi gia hạn sẽ diễn ra tự động ở nền.
Tổng kết
ServBay mang đến chức năng ACME cực kỳ mạnh mẽ và dễ sử dụng, giúp bạn nhanh chóng đăng ký và quản lý chứng chỉ SSL/TLS đáng tin cậy cho website phát triển local qua DNS API. Không chỉ đơn giản hóa quy trình cấu hình chứng chỉ, quan trọng hơn, nó giúp môi trường phát triển local trở nên giống môi trường sản xuất thực, hỗ trợ phát triển & kiểm thử các dịch vụ dùng HTTPS an toàn và hiệu quả hơn.
Hy vọng bài viết sẽ giúp bạn triển khai thành công SSL cho website local bằng ACME trên ServBay và nâng cao trải nghiệm phát triển của mình.