BizMaC bizmac.com

Cài SSL Let's Encrypt trên Microsoft IIS bằng win-acme

Hướng dẫn VPS Hosting & Máy chủ · cập nhật 02/08/2026

Để cài SSL Let's Encrypt trên Microsoft IIS, bạn tải công cụ win-acme về máy chủ Windows, chạy wacs.exe bằng quyền quản trị, chọn website trong danh sách binding rồi để công cụ tự xin và gán chứng chỉ. Mất khoảng 5 phút cho một tên miền.

Cách này dùng cho website chạy trên Windows Server với IIS, khác hẳn Linux vì trên Windows không có certbot. Công cụ win-acme làm thay cả ba việc: xin chứng chỉ, gán vào binding HTTPS của IIS, và tạo tác vụ theo lịch để tự gia hạn.

  1. Trỏ tên miền về IP máy chủ và mở cổng 80.
  2. Tải win-acme rồi giải nén vào một thư mục cố định.
  3. Chạy wacs.exe bằng quyền quản trị và chọn website.
  4. Xác nhận chứng chỉ đã gán vào binding HTTPS.
Đã kiểm trên Windows Server 2019 với IIS 10. Tên miền phải trỏ đúng về IP máy chủ và cổng 80 phải mở từ Internet trước khi chạy, vì Let's Encrypt gọi ngược về website qua HTTP để xác minh quyền sở hữu.

Công cụ nào còn dùng được để lấy chứng chỉ miễn phí trên Windows

Trên Windows không có certbot chính chủ, nên phải dùng một ACME client viết cho nền tảng này. Cả ba công cụ dưới đây đều nói chuyện với cùng một dịch vụ cấp chứng chỉ miễn phí. Ba lựa chọn phổ biến khác nhau ở cách vận hành: một cái chạy dòng lệnh tương tác, một cái có giao diện đồ hoạ, một cái là module PowerShell để đưa vào script.

Công cụCách dùngTự gán vào IISHợp với
win-acme (WACS)Dòng lệnh có menu hỏi đápCó, tự tạo bindingVài website trên một máy chủ
Certify The WebGiao diện đồ hoạNgười quen thao tác bằng chuột
Posh-ACMEModule PowerShellKhông, phải tự viếtĐưa vào script triển khai
Công cụ letsencrypt-win-simple trong các hướng dẫn cũ đã đổi tên thành win-acme từ năm 2018, kho cũ không còn bản mới. Nếu bạn đang tìm theo tên đó thì tìm win-acme, đây là cùng một dự án. Bài này dùng win-acme vì nó tự tạo binding HTTPS và tự đặt lịch gia hạn, hai việc mà công cụ khác bắt làm tay.

Cần chuẩn bị gì trên Windows Server trước khi cài

Bạn cần một máy chủ Windows đã cài IIS và có quyền đăng nhập Remote Desktop bằng tài khoản quản trị. Tên miền phải có bản ghi A trỏ về IP công khai của máy chủ, và website phải đã được tạo trong IIS với binding HTTP ở cổng 80.

Cổng 80 phải mở từ Internet vào máy chủ. Dịch vụ cấp chứng chỉ xác minh quyền sở hữu bằng cách đặt một file vào thư mục .well-known/acme-challenge rồi gọi từ ngoài vào qua HTTP. Tường lửa Windows chặn cổng 80 hoặc tường lửa của nhà cung cấp chưa mở là lượt xin chứng chỉ thất bại ngay, dù mọi thứ khác đúng.

Kiểm nhanh bằng cách mở http://ten-mien-cua-ban từ một máy ngoài mạng. Trang hiện ra là cổng 80 đã thông.

Cách cài SSL Let's Encrypt trên Microsoft IIS bằng win-acme

Bảy bước dưới đây làm trên phiên Remote Desktop bằng tài khoản quản trị. Website vẫn phục vụ bình thường trong lúc chạy, chỉ có một khoảnh khắc ngắn lúc IIS nạp lại binding. Không cần khởi động lại máy chủ.

1. Tải win-acme về máy chủ

Tải file ZIP bản mới nhất của win-acme từ trang phát hành của dự án trên GitHub. Chọn bản dành cho nền tảng x64 và phiên bản .NET khớp với máy chủ, thường là bản win-acme.v2.x.x.x64.pluggable.zip.

2. Giải nén vào một thư mục cố định

Giải nén vào thư mục sẽ giữ lâu dài, ví dụ C:\inetpub\letsencrypt. Không giải nén vào thư mục Downloads hay Desktop, vì win-acme đặt tác vụ theo lịch trỏ tới đúng đường dẫn này. Xoá hoặc chuyển thư mục sau đó là lịch gia hạn hỏng, chứng chỉ hết hạn sau 90 ngày mà không ai biết.

Thư mục win-acme sau khi giải nén, chứa file wacs.exe và các file cấu hình
Giải nén win-acme vào thư mục cố định, đừng để trong Downloads

3. Chạy wacs.exe bằng quyền quản trị

Bấm chuột phải vào wacs.exe, chọn Run as administrator. Chạy không có quyền quản trị thì công cụ không sửa được binding của IIS và không đặt được tác vụ theo lịch.

Menu chuột phải trên file wacs.exe với tuỳ chọn Run as administrator
Chạy wacs.exe bằng Run as administrator

4. Chọn tạo chứng chỉ mới

Ở menu chính, gõ N rồi Enter để tạo chứng chỉ mới với thiết lập mặc định. Đây là đường ngắn nhất, phù hợp với website IIS thông thường.

Menu chính của win-acme với tuỳ chọn N tạo chứng chỉ mới
Gõ N để tạo chứng chỉ mới theo thiết lập mặc định

5. Chọn website cần cài chứng chỉ

Công cụ liệt kê các website đang có binding trong IIS, mỗi dòng một số thứ tự. Gõ số của website cần cài rồi Enter.

Danh sách website IIS do win-acme liệt kê, mỗi dòng có số thứ tự và tên binding
Danh sách binding trong IIS, gõ số tương ứng với website cần cài

6. Xác nhận danh sách tên miền

Công cụ hỏi lại lần nữa để chốt danh sách tên miền sẽ nằm trong chứng chỉ. Gõ P rồi nhập lại tên miền, hoặc gõ A để lấy tất cả tên miền của website đó.

Màn hình win-acme hỏi xác nhận danh sách tên miền đưa vào chứng chỉ
Chốt danh sách tên miền sẽ có trong chứng chỉ

7. Nhận email thông báo và đồng ý điều khoản

Các câu hỏi còn lại là địa chỉ email nhận cảnh báo trước ngày hết hạn và xác nhận đồng ý điều khoản dịch vụ. Khai email bạn thật sự đọc, vì đó là kênh duy nhất báo khi lượt gia hạn tự động thất bại.

Các tuỳ chọn cuối của win-acme gồm email nhận thông báo và xác nhận điều khoản
Khai email nhận thông báo rồi xác nhận để công cụ xin chứng chỉ

Công cụ xin chứng chỉ, cài vào kho chứng chỉ của Windows, tạo binding HTTPS ở cổng 443 cho website và đặt một tác vụ theo lịch tên win-acme renew trong Task Scheduler.

Kiểm tra chứng chỉ đã gán vào IIS chưa

Mở website bằng địa chỉ https:// trong cửa sổ ẩn danh, biểu tượng ổ khoá hiện ở thanh địa chỉ là dấu hiệu đầu tiên. Bấm vào ổ khoá để xem tổ chức cấp là Let's Encrypt và ngày hết hạn cách hiện tại khoảng 90 ngày.

Kiểm phía máy chủ trong IIS Manager: chọn website, bấm Bindings ở cột phải, dòng https cổng 443 phải có sẵn và cột SSL certificate chỉ tới chứng chỉ vừa cấp. Mở Task Scheduler và tìm tác vụ win-acme renew để chắc lịch gia hạn đã được đặt.

Muốn kiểm kỹ hơn chuỗi chứng chỉ có đủ file trung gian không, xem cách xác thực chứng chỉ SSL.

Xử lý các lỗi thường gặp khi chạy win-acme

Năm tình huống dưới đây chiếm phần lớn ca thất bại. Thông báo của win-acme khá dài, dòng đáng đọc nằm ở cuối màn hình sau chữ Create certificate failed.

Báo Authorization failed hoặc Invalid response from http://ten-mien. Máy chủ cấp chứng chỉ không gọi được vào cổng 80. Kiểm bản ghi A của tên miền, tường lửa Windows và tường lửa nhà cung cấp. Nếu website đang ép chuyển hướng sang HTTPS, tạm tắt luật chuyển hướng cho đường dẫn .well-known.

Báo lỗi 404 khi máy chủ cấp chứng chỉ lấy file challenge. Cấu hình IIS chặn file không có phần mở rộng. Thêm một mục staticContent cho phép kiểu MIME text/plain ở thư mục .well-known/acme-challenge, hoặc để win-acme dùng cách xác minh qua bản ghi DNS thay vì qua HTTP.

Báo Too many failed authorizations recently. Bạn đã thử hỏng quá số lần dịch vụ cho phép trong một giờ. Sửa nguyên nhân gốc rồi đợi hết giờ, chạy lại ngay chỉ tốn thêm một lượt vào bộ đếm.

Cài xong nhưng trình duyệt vẫn báo không an toàn. Binding HTTPS chưa được tạo, hoặc trang còn nhúng ảnh và script qua đường http://. Kiểm mục Bindings trong IIS Manager, sau đó mở công cụ dành cho nhà phát triển ở thẻ Console để thấy tài nguyên nào gọi sai.

Chứng chỉ hết hạn dù đã có tác vụ theo lịch. Thư mục win-acme đã bị chuyển hoặc xoá, hoặc tài khoản chạy tác vụ đã đổi mật khẩu. Chạy lại wacs.exe bằng quyền quản trị và chọn mục gia hạn để đặt lại lịch.

Việc cần theo dõi sau khi cài chứng chỉ

Chứng chỉ có hạn 90 ngày, win-acme tự gia hạn khi còn khoảng 55 ngày. Lượt gia hạn thất bại thì bạn vẫn còn hơn một tháng để xử lý, miễn là email thông báo khai đúng và có người đọc.

Bật chuyển hướng từ HTTP sang HTTPS trong IIS bằng module URL Rewrite để website chỉ chạy một địa chỉ, tránh việc Google xem hai địa chỉ là hai trang khác nhau. Nếu máy chủ còn chạy IIS 7 trên Windows Server bản cũ, quy trình khác nên xem cách cài đặt SSL trên IIS7. Trường hợp bạn có sẵn chứng chỉ dạng PFX mua ngoài và muốn dùng thay chứng chỉ miễn phí, xem cách convert SSL ra PFX bằng OpenSSL trên Windows.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong VPS Hosting & Máy chủ

Xem cả 17 bài
Khởi động lại VPS đúng cách khi bị treo Ba mức khởi động lại VPS đi từ mềm tới cứng, khi nào dùng cách nào, cách làm trên VPS Linux và Windows, và việc cần kiểm sau khi máy lên lại. 5 phút đọc 10 lượt xem Cập nhật 21/08/2026 Cài control panel để quản lý VPS như hosting Control panel cho bạn quản lý VPS bằng giao diện thay vì gõ lệnh. Bài này giới thiệu Plesk, DirectAdmin, cPanel, các bước cài và việc cần làm sau khi cài xong. 6 phút đọc 11 lượt xem Cập nhật 20/08/2026 Bảo mật VPS cơ bản cho người mới thuê Sáu bước bảo mật tối thiểu cho một VPS mới: đổi mật khẩu, bỏ dùng root trực tiếp, đổi port quản trị, bật tường lửa, cập nhật hệ điều hành và sao lưu định kỳ. 6 phút đọc 11 lượt xem Cập nhật 20/08/2026 vSphere: phân biệt Thick Provision và Thin Provision So sánh Thick Lazy Zeroed, Thick Eager Zeroed và Thin Provision trên vSphere theo tốc độ tạo, tốc độ ghi, dung lượng chiếm thật và rủi ro hết chỗ. 8 phút đọc 192 lượt xem Cập nhật 20/08/2026 Managed và unmanaged VPS khác nhau thế nào Managed và unmanaged VPS khác nhau ở ai đứng ra quản trị máy. Bảng phân việc ai lo gì, ưu nhược từng loại và gợi ý loại hợp cho người mới thuê VPS. 5 phút đọc 9 lượt xem Cập nhật 17/08/2026 Mở và đóng port trên VPS an toàn Cách mở đóng port trên VPS theo nguyên tắc mở càng ít càng an toàn: các port website cần, cách làm trên Linux và Windows, và cách tránh tự khoá mình ngoài máy. 5 phút đọc 9 lượt xem Cập nhật 17/08/2026

Làm theo vẫn chưa được?

Gửi yêu cầu hỗ trợ, kỹ thuật xem trực tiếp trên dịch vụ của Anh/Chị.

Gửi yêu cầu hỗ trợ