Sử dụng ACME trên ServBay để xin chứng chỉ SSL cho website
ServBay hỗ trợ sử dụng giao thức ACME để tự động xin chứng chỉ SSL/TLS cho website phát triển cục bộ. ACME (Automated Certificate Management Environment) là giao thức chuẩn cho việc tự động quản lý vòng đời chứng chỉ (bao gồm xin mới, gia hạn và thu hồi). Thông qua bảng điều khiển ACME của ServBay, bạn có thể dễ dàng cấu hình chứng chỉ SSL tin cậy cho website cục bộ – điều này rất cần thiết khi mô phỏng môi trường production hoặc kiểm thử các tính năng liên quan đến HTTPS.
Mặc định, ServBay ưu tiên sử dụng ZeroSSL để phát hành chứng chỉ, nhưng bạn cũng linh hoạt chọn Let's Encrypt hoặc các tổ chức phát hành chứng chỉ (CA) tương thích ACME khác như Google Trust Services.
TIP
Để môi trường phát triển cục bộ càng giống production càng tốt, sử dụng chứng chỉ SSL tin cậy là rất quan trọng. Tính năng ACME trên 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
Hiểu một số khái niệm sau sẽ giúp bạn sử dụng ACME trên ServBay hiệu quả hơn:
- Giao thức ACME: Chuẩn mở cho phép tự động tương tác giữa máy chủ và tổ chức phát hành chứng chỉ (CA), đảm bảo việc xin, cấp phát, gia hạn và quản lý chứng chỉ hoàn toàn tự động.
- Xác thực DNS-01 (qua DNS API): ACME hỗ trợ nhiều phương thức xác thực quyền sở hữu tên miền, trong đó ServBay chủ yếu sử dụng DNS-01. CA sẽ yêu cầu bạn thêm một bản ghi TXT đặc biệt vào DNS tên miền của bạn. Nếu CA kiểm tra thấy bản ghi này tồn tại và đúng, bạn có quyền kiểm soát tên miền. Ưu điểm của phương pháp này:
- Không cần môi trường phát triển cục bộ của bạn truy cập được trực tiếp từ Internet.
- Ngay cả khi port 80/443 trên máy cục bộ bị chặn bởi firewall hoặc ISP, vẫn xác thực thành công.
- Ràng buộc tài khoản ngoài (EAB - External Account Binding): Một số CA như Google Trust Services hoặc ZeroSSL yêu cầu ràng buộc tài khoản khi xin chứng chỉ lần đầu bằng ACME. Việc này kết nối ACME client (chính là acme.sh tích hợp trong ServBay) với tài khoản bạn đăng ký tại CA thông qua một cặp Key ID và HMAC Key.
- Chứng chỉ ECC hay RSA:
- RSA: Thuật toán truyền thống, tương thích rộng, cần khóa dài (2048 hoặc 4096 bit) để đảm bảo an toàn, tốc độ xử lý chậm hơn.
- ECC (Elliptic Curve Cryptography): Thuật toán hiện đại, cung cấp cùng mức an ninh với khóa ngắn hơn nhiều (256 hoặc 384 bit), hiệu năng cao, handshake nhanh, tiết kiệm băng thông, bảo mật chuyển tiếp tốt hơn. ServBay khuyến nghị chọn ECC làm mặc định.
Điều kiện tiên quyết
ServBay sử dụng DNS API để xin chứng chỉ ACME – điều này không yêu cầu website cục bộ phải truy cập được từ Internet. Hãy đảm bảo các điều kiện sau trước khi sử dụng:
- Có tên miền: Bạn cần sở hữu và kiểm soát tên miền (có quyền sửa DNS).
- API Key của nhà cung cấp DNS: Quá trình xin ACME cần API để tự động thêm/xóa bản ghi TXT xác thực. Bạn cần lấy API Key hoặc thông tin xác thực tương ứng từ nhà cung cấp DNS (nền tảng hosting DNS của bạn, có thể khác với đơn vị đăng ký tên miền). Xem danh sách nhà cung cấp DNS hỗ trợ cùng hướng dẫn lấy API Key trên Wiki
acme.shchính thức: How to use DNS API. - Lấy thông tin EAB (nếu xin Google Trust Services hoặc ZeroSSL lần đầu): Nếu chọn Google Trust Services, lấy EAB từ Google Cloud (xem hướng dẫn Obtaining EAB credentials from Google Cloud). Với ZeroSSL, lần đầu thường cũng cần xác thực email hoặc API Key.
Hướng dẫn xin chứng chỉ SSL qua ACME trên ServBay
Thực hiện theo các bước sau để xin SSL cho website phát triển cục bộ:
Mở bảng điều khiển quản trị ServBay
Khởi động ứng dụng ServBay, vào bảng điều khiển qua icon trên menu hệ thống hoặc Dock.Đi đến phần Quản lý chứng chỉ SSL
Trong thanh bên trái ở bảng điều khiển ServBay, chọnSSL 证书(chứng chỉ SSL).Bắt đầu xin chứng chỉ mới
Ở góc phải trên giao diện quản lý chứng chỉ, click nút+, chọn申请新证书(Xin chứng chỉ mới).Cài đặt thông tin cơ bản của chứng chỉ
- Tên chứng chỉ: Đặt tên dễ nhận biết cho chứng chỉ (VD:
servbay-demo-ssl). - Mục đích sử dụng: Chọn
TLS/SSL. - Phương thức yêu cầu: Chọn
ACME.
- Tên chứng chỉ: Đặt tên dễ nhận biết cho chứng chỉ (VD:
Chọn tổ chức phát hành chứng chỉ (CA) Ở dropdown
签发方, chọn CA bạn muốn sử dụng. Mặc định làZeroSSL. Bạn có thể đổi sangLet's EncrypthoặcGoogle Trust Servicesnếu cần. Ví dụ dưới dùngZeroSSL.Chọn nhà cung cấp DNS API Ở dropdown
DNS API 提供商, chọn nhà cung cấp DNS thật sự của tên miền (không phải nơi đăng ký tên miền nếu hai nơi khác nhau). Ở đây ví dụ chọnCloudflare.Chọn thuật toán và độ dài khóa
- Thuật toán: Mặc định nên chọn
ECCvì hiệu suất và bảo mật tốt. Nếu cần tương thích thiết bị cũ, có thể chọnRSA. - Độ dài khóa: Nếu ECC, mặc định là
384 bit, rất an toàn. Nếu RSA thì phổ biến là2048hoặc4096 bit.
- Thuật toán: Mặc định nên chọn
Nhập thông tin xác thực Tùy chọn
签发方vàDNS API 提供商sẽ xuất hiện các ô nhập thông tin xác thực phù hợp.- Với ZeroSSL cần nhập email.
- Với Cloudflare, nhập API Key hoặc thông tin xác thực khác theo yêu cầu trên Wiki acme.sh.
WARNING
Lưu ý: Chỉ dán giá trị của API Key hoặc secret, không thêm dòng lệnh shell như
export.Thiết lập tên miền Điền tên miền cần xin chứng chỉ vào trường
域名(servbay.demohoặc*.servbay.demo). Nếu xin chứng chỉ wildcard (*.servbay.demo), đảm bảo DNS provider hỗ trợ thêm tự động bản ghi TXT wildcard.Bắt đầu yêu cầu Kiểm tra thông tin đã chính xác rồi nhấn
请求(Yêu cầu). ServBay sẽ gọiacme.shvới dữ liệu DNS API bạn cung cấp để xác thực tên miền và gửi yêu cầu lên CA.

Quá trình này có thể mất vài phút, phụ thuộc vào tốc độ cập nhật bản ghi DNS và phản hồi của CA. Tiến trình xin chứng chỉ sẽ hiển thị trong nhật ký hoặc danh sách chứng chỉ trên ServBay. Khi thành công, chứng chỉ mới sẽ xuất hiện tại mục SSL 证书.
Dừng yêu cầu đang chạy
Khi quá trình xin ACME đang diễn ra, nút 请求 sẽ chuyển thành 停止申请 (Dừng yêu cầu). Nếu chờ lâu không xong (DNS propagate chậm hoặc sai thông tin xác thực cần sửa), hãy nhấn 停止申请 để dừng tiến trình acme.sh hiện tại, chỉnh lại rồi gửi lại, không cần đợi hết thời gian timeout.
Nâng cao: Chờ propagate DNS & bỏ qua tự kiểm DNS
Khi xin chứng chỉ, acme.sh mặc định sẽ kiểm tra bản ghi TXT vừa thêm có tồn tại chưa rồi mới báo CA xác thực. Trong nhiều trường hợp (DNS cục bộ bị chiếm quyền, fake-ip mode, hay DNS cục bộ khác biệt với DNS toàn cầu), bước kiểm tra này có thể thất bại hoặc bị treo, trong khi thực tế bản ghi TXT đã hợp lệ trên Internet.
Để xử lý, giao diện xin chứng chỉ của ServBay cung cấp:
- Thời gian chờ (giây): Đặt số giây đợi DNS lan truyền (mặc định
120giây). ServBay sẽ đợi xong thời gian này rồi mới báo CA xác thực. - Bỏ qua tự kiểm DNS: Nếu bật,
acme.shsẽ không kiểm DNS ở cục bộ mà chỉ đơn giản đợi đủ thời gian bạn đặt rồi gửi lên CA xác thực. Dùng khi mạng cục bộ bị chiếm quyền DNS hoặc fake-ip dẫn đến kiểm tra DNS không tin cậy.
TIP
Nếu trong môi trường mạng ổn định, không bị vấn đề DNS, hãy giữ nguyên các tùy chọn này. Chỉ thiết lập khi gặp lỗi "bản ghi TXT đã tồn tại nhưng kiểm tra cục bộ thất bại" – khi ấy mới thử "Bỏ qua tự kiểm DNS" và tăng thêm thời gian chờ.
Dùng chứng chỉ trong cấu hình website của ServBay
Sau khi xin thành công chứng chỉ ACME, bạn áp dụng nó vào website trên ServBay như sau:
- Vào mục
网站(Website) bên trái trong bảng điều khiển ServBay. - Chọn site cần bật SSL, ấn nút chỉnh sửa (hình bút chì).
- Trong phần cấu hình, tìm mục
SSL 证书. - Chọn tên chứng chỉ ACME vừa tạo trong dropdown.
- Bật công tắc
启用 SSL(Kích hoạt SSL). - Lưu cấu hình. Website giờ có thể truy cập qua HTTPS.

Gia hạn chứng chỉ ACME tự động
Chứng chỉ cấp qua ACME (từ Let's Encrypt hay ZeroSSL) thường chỉ có hiệu lực 90 ngày. Để website luôn chạy HTTPS, cần gia hạn trước khi hết hạn.
ServBay tự động kiểm soát thời hạn chứng chỉ ACME. Gần đến ngày hết hạn, ServBay sẽ tự động dùng thông tin DNS API đã lưu để gửi yêu cầu gia hạn lên CA.
Chỉ cần API DNS còn hiệu lực, dịch vụ DNS ổn định, bạn không cần thao tác nào để duy trì chứng chỉ – ServBay lo hết tất cả.
Câu hỏi thường gặp (FAQ) & lỗi phổ biến
- Yêu cầu thất bại, báo lỗi xác thực DNS?
- Xem lại thông tin xác thực DNS API đã đúng chưa, có đủ quyền đổi TXT record không.
- Xác định chính xác nhà cung cấp DNS chọn trên ServBay giống thực tế.
- DNS cần thời gian propagate – có thể phải đợi vài phút, hoặc lâu hơn, hãy thử lại sau.
- Đảm bảo tên miền nhập chuẩn xác.
- Nếu bản ghi TXT đã xuất hiện trên Internet nhưng xác thực cục bộ vẫn lỗi (hay gặp do chiếm quyền DNS hoặc fake-ip mode), hãy bật
Bỏ qua tự kiểm DNSvà tăng thời gian chờ (tham khảo phần "Nâng cao").
- Lỗi EAB khi xin chứng chỉ?
- Nếu sử dụng Google Trust Services hoặc ZeroSSL lần đầu, kiểm tra đã nhập đúng thông tin EAB.
- Nếu từng xin thành công nhưng giờ lỗi, có thể EAB đã hết hạn hoặc bị thu hồi, cần lấy lại thông tin mới.
- Lỗi đạt giới hạn tần suất (Rate Limit)?
- CA giới hạn số lượng chứng chỉ tối đa có thể xin trên mỗi tên miền hoặc mỗi IP theo mốc thời gian. Nếu thử quá nhiều lần/ngày hoặc xin nhiều chứng chỉ một lúc sẽ bị khóa. Hãy chờ vài giờ – vài ngày rồi thử lại.
- Xin chứng chỉ thành công nhưng website vẫn không an toàn trên trình duyệt?
- Kiểm tra trên cấu hình website ServBay đã chọn đúng chứng chỉ và bật SSL chưa.
- Thử xóa cache trình duyệt hoặc thử bằng chế độ ẩn danh.
- Kiểm tra file hosts hoặc cấu hình mạng cục bộ trỏ đúng về ServBay.
- ServBay tự động gia hạn khi nào? ServBay sẽ bắt đầu quá trình tự động gia hạn trong một số ngày cố định trước khi chứng chỉ hết hạn (ví dụ 30 ngày). Chỉ cần ứng dụng ServBay đang chạy và mạng ổn định, việc này sẽ diễn ra hoàn toàn tự động nền.
Tổng kết
ServBay mang đến tính năng ACME mạnh mẽ, dễ dùng, giúp developer chủ động xin và quản lý chứng chỉ SSL/TLS tin cậy cho website phát triển cục bộ thông qua DNS API. Quá trình cấu hình đơn giản này không chỉ nâng cao trải nghiệm lập trình mà còn cho phép môi trường phát triển local mô phỏng production hỗ trợ HTTPS sát thực tế, giúp phát triển và kiểm thử hiệu quả hơn.
Hy vọng bài viết giúp bạn sử dụng ACME trên ServBay xin/áp dụng chứng chỉ SSL dễ dàng, gia tăng hiệu quả làm việc trên môi trường phát triển cục bộ.
