Cài đặt free SSL/TLS Certificates từ Let’s Encrypt trong IIS trên Windows Server

Cai-đat-free-SSLTLS-Certificates

Sự khác biệt giữa HTTP và HTTPS?

Các trang web sử dụng HTTP gửi dữ liệu được nhập trong các trường biểu mẫu từ trình duyệt của bạn qua internet đến trang web đích bằng văn bản thuần túy. Điều này có nghĩa là bất kỳ ai giám sát mạng của bạn đều có thể đọc dữ liệu của bạn trong khi mạng đang truyền.

Khi sử dụng HTTPS, dữ liệu được gửi đến trang web từ trình duyệt của bạn sẽ được mã hóa. Những người nghe trộm trên mạng của bạn đã thắng được có thể đọc thông tin mà bạn đã gửi từ trình duyệt của bạn trên đường đến trang web. Điều này cực kỳ quan trọng khi nhập dữ liệu nhạy cảm như tên người dùng và mật khẩu.

Internet đang dần chuyển sang HTTPS. Trong nỗ lực tăng tốc thuật toán công cụ tìm kiếm này đang bắt đầu xếp hạng các trang web HTTPS cao hơn trong kết quả tìm kiếm. Google Chrome hiện làm nổi bật các trang web HTTP một cách rõ ràng là không bảo mật, vì vậy, nó đáng để thay đổi để giúp người dùng của bạn yên tâm.

Cách bật HTTPS trên IIS

Trong hướng dẫn này, tôi sẽ thực hiện các bước đơn giản liên quan đến việc lấy và cài đặt Let’s Encrypt SSL/TLS hợp lệ trên các trang web được lưu trữ trên IIS trong Windows Server. Tôi sẽ sử dụng trang web mặc định đi kèm với IIS làm ví dụ, nhưng các bước này áp dụng cho bất kỳ trang web, ứng dụng web hoặc API web nào khác.

Trước khi chúng tôi bắt đầu, có một vài điều cần lưu ý:

Let’s Encrypt chỉ cung cấp chứng chỉ DV (xác thực tên miền).
Chứng chỉ SSL / TLS chỉ tồn tại trong 90 ngày, nhưng sẽ được tự động gia hạn trước đó.
Có giới hạn số lượng chứng chỉ bạn có thể tạo mỗi tuần.

1. Tạo chứng chỉ tự ký trong IIS

Bước này là tùy chọn. Trước khi chúng tôi yêu cầu chứng chỉ sản xuất, hãy tạo một chứng chỉ Self-Signed Certificate để kiểm tra xem nó có thể phục vụ các trang HTTPS từ máy chủ của bạn không.

1. Mở IIS và bấm vào nút máy chủ trong cây bên trái.
2. Chọn “Server Certificates”.
3. Nhấp vào “Create Self-Signed Certificate…” bên phải và đặt tên cho nó.
4. Đi vào trang web “Default website” trong cây bên trái.
5. Nhấp vào “Bindings…” và thêm một ràng buộc mới.
6. Chọn loại là HTTPS, port là 443 và chọn chứng chỉ tự ký của bạn từ danh sách chứng chỉ SSL, sau đó đóng cửa sổ.

Self signed certificate in IIS

Bây giờ khi bạn truy cập phiên bản https của trang web, nó sẽ tải. Tuy nhiên, Google Chrome sẽ gắn cờ là không an toàn vì chứng chỉ không hợp lệ. Đây là những gì chúng tôi muốn bởi vì bây giờ chúng tôi biết rằng máy chủ web đã được thiết lập để cho phép kết nối HTTPS. Chúng tôi đã sẵn sàng để tiến hành.

HTTPS self signed certificate

Nếu trang web không tải hoặc tiếp tục quay, hãy kiểm tra xem tường lửa và nhà cung cấp máy chủ đám mây của bạn có chấp nhận các kết nối TCP gửi đến cổng 443 không.

2. Cài đặt Windows ACME Simple (WACS)

Giao thức để nhận các chứng chỉ Let’s Encrypt được gọi là ACME (Môi trường quản lý chứng chỉ tự động). Chúng tôi sẽ cần cài đặt ứng dụng khách ACME để gửi yêu cầu chứng chỉ SSL / TLS miễn phí. Vì chứng chỉ Let’s Encrypt hết hạn sau 3 tháng, ứng dụng khách ACME này tạo ra một tác vụ theo lịch trình cho các lần gia hạn tự động yêu cầu những cái mới một vài tuần trước khi chúng được thiết lập hết hạn.

Có nhiều khách hàng ACME có sẵn nhưng chúng tôi sẽ sử dụng win-acme bởi PKISharp. Tải xuống bản phát hành mới nhất của win-acme và trích xuất nội dung của nó vào một thư mục trên ổ cứng của bạn, C:\LetsEncrypt trong ví dụ này.

Phiên bản win-acme được sử dụng tại thời điểm viết bài viết này là v2.0.10.444

3. Tạo chứng chỉ Let Encrypt Encrypt và tự động thiết lập gia hạn

1. Mở PowerShell và chạy: cd c:\LetsEncrypt
2. Chạy: .\wacs.exe

win acme

Nhấn N để tạo chứng chỉ mới.

Chúng tôi chỉ có một trang web duy nhất trong ví dụ này, vì vậy Nhấn 1 để Single binding of an IIS site. Chứng chỉ SAN cho phép nhiều tên miền phụ cũng được hỗ trợ.

Chọn ràng buộc. Một lần nữa, chúng tôi chỉ có một trang web nên Nhấn 1.

Cung cấp (các) email để thông báo về các sự cố nếu gia hạn tự động không thành công. Bạn có thể để trống này và tiếp tục. (Địa chỉ email này sẽ không được công khai)

Đồng ý và Chấp nhận các điều khoản và điều kiện của họ sau đó để win-acme làm điều đó thì bạn đã hoàn thành!

4. Xác minh mọi thứ đang hoạt động

Nhấn L từ menu chính của win-acme client để thấy rằng gia hạn tự động đã được tạo. Tại đây bạn có thể xem chi tiết cho lần gia hạn tiếp theo.

win acme

Nhìn vào các ràng buộc cho HTTPS trong IIS và bạn sẽ thấy chứng chỉ của mình được chọn.

Let's Encrypt certificate in IIS

Bây giờ khi bạn điều hướng đến phiên bản HTTPS của URL, nó sẽ hiển thị dưới dạng an toàn trong Chrome.

Secure Let's Encrypt certificate

Nhấp qua để xem chứng chỉ.

Valid Let's Encrypt certificate

Để chuyển hướng tất cả lưu lượng truy cập HTTP đến phiên bản HTTPS, bạn có thể cài đặt Modun Rewrite URL của Microsoft và định cấu hình các chuyển hướng. Nó vượt quá phạm vi của hướng dẫn này nhưng xem ở đây để biết thêm thông tin.

Let’s Encrypt được sử dụng rộng rãi bởi nhiều công ty và được tất cả các trình duyệt tin cậy. Nếu bạn đã thấy bài viết này hữu ích, vui lòng đăng ký bên dưới vào Ứng dụng Lama và nhận thông báo về bài viết mới.

Xem bài viết tiếng Anh tại đây.

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
0917636169