Cài đặt chứng chỉ SSL Let’s Encrypt miễn phí cho các trang web trên IIS

Trong bài viết này, bạn sẽ tìm hiểu cách nhận chứng chỉ SSL miễn phí từ Let’s Encrypt CA. Chúng tôi cũng sẽ đề cập đến cách đảm bảo rằng trang web đang được cung cấp đúng bằng HTTPS và xác nhận rằng chứng chỉ SSL phù hợp đang được sử dụng.

Bảo mật danh tính của một trang web và đảm bảo quyền truy cập vào nó được mã hóa là điều quan trọng. Cài đặt chứng chỉ SSL công khai là một tiêu chuẩn để bảo mật các trang web và là điều bắt buộc đặc biệt nếu các trang đó được xuất bản lên internet.

Chứng chỉ SSL tốn tiền và là chi phí định kỳ vì nó cần được gia hạn. Nhưng nhờ vào Let’s Encrypt Certificate Authority, có một giải pháp thay thế miễn phí để nhận chứng chỉ SSL là

Chuẩn bị Môi trường

Yêu cầu chứng chỉ SSL từ Let’s Encrypt CA có một số điều kiện tiên quyết. Các yêu cầu này là bắt buộc để toàn bộ quá trình yêu cầu chứng chỉ thành công.

  1. Tên miền đã đăng ký. Nếu bạn cần lấy một tên miền để thử nghiệm, bạn có thể yêu cầu một tên miền từ Freenom.
  2. Bản ghi DNS (hay còn gọi là DNS record, có một số nhà cung cấp sẽ giới hạn số lượng record, bạn phải tốn một khoảng phí để mở rộng) cho trang web của bạn. Nếu không có điều này, yêu cầu chứng chỉ sẽ không thành công.
  3. Một trang web được lưu trữ trong IIS (Window). Trang web này phải có thể truy cập được trên internet.
  4. Truy cập vào máy chủ nơi lưu trữ trang web của bạn. Quá trình yêu cầu chứng chỉ sẽ được thực hiện từ máy chủ.

Duyệt một trang web không có chứng chỉ SSL

Trước tiên, hãy xem trang web trông như thế nào trước khi chứng chỉ được cài đặt.

Ảnh chụp màn hình bên dưới cho thấy việc duyệt một trang web không có chứng chỉ SSL trông như thế nào. Trang web được coi là “không an toàn” vì kết nối không được mã hóa và đó là do thiếu chứng chỉ SSL đáng tin cậy.

Đến cuối bài viết này, mục tiêu của bạn là chứng chỉ SSL của Let’s Encrypt phải được cài đặt trên trang web IIS và chỉ được truy cập qua HTTPS.

Một website không có chứng chỉ SSL
Một website không có chứng chỉ SSL

Nhận ứng dụng khách ACME

Để có được chứng chỉ SSL từ Let’s Encrypt yêu cầu sử dụng ứng dụng khách hỗ trợ giao thức ACME. Bạn có thể xem danh sách phần mềm máy khách ACME được hỗ trợ từ liên kết này.

Mặc dù có nhiều ứng dụng khách ACME nhưng ứng dụng khách win-acme sẽ được sử dụng trong suốt bài viết này.

Cho đến nay, ứng dụng khách win-acme dường như là ứng dụng dễ sử dụng nhất và với các tài liệu rất hữu ích.

Truy cập trang bản phát hành Win-ACME GitHub, cuộn xuống phần nội dung của bản phát hành mới nhất, nơi bạn sẽ tìm thấy các tệp có thể tải xuống. Tìm tệp win-acme- [version] .x64.trimmed.ziptải nó xuống máy chủ nơi bạn định cài đặt chứng chỉ.

Phiên bản mới nhất của win-acme tính đến thời điểm viết bài này là v2.1.2.634.

Trang phát hành Win-ACME trên GitHub
Trang phát hành Win-ACME trên GitHub

Sau khi tải xuống, giải nén các tệp vào thư mục ưa thích của bạn. Trong bài đăng này, các tệp được trích xuất trong thư mục * C:.

Bắt đầu nhận chứng chỉ SSL Let’s Encrypt mới

Bây giờ ứng dụng khách win-acme đã được cài đặt, bước tiếp theo là xác định (các) trang web nào sẽ được sử dụng để yêu cầu chứng chỉ SSL mới. Trong ví dụ này, có hai trang web có sẵn tên là blogđồ ăn.

Tất cả các trang web IIS
Tất cả các trang web IIS

Khi bạn đã quyết định (các) trang web nào sẽ được sử dụng, hãy tiếp tục yêu cầu chứng chỉ và quy trình cài đặt bằng ứng dụng khách win-acme.

Đầu tiên, mở CMD và thay đổi thư mục làm việc thành nơi chứa các tệp win-acme. Trong ví dụ này, nó nằm trong thư mục * C:.

Sau đó chạy file wacs.exe. Làm như vậy sẽ xuất hiện menu tương tác như hình bên dưới.

Vì là chứng chỉ mới, hãy nhập N để chọn tùy chọn tạo chứng chỉ mới.

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

Bạn sẽ thấy danh sách các trang web được tìm thấy trong IIS. Nhập số tương ứng với tên trang web. Trang web được chọn sẽ được quét các tên máy chủ của nó. Trong ví dụ dưới đây, trang blog được chọn.

Chọn một trang web để binding vào IIS
Chọn một trang web để binding vào IIS

Tiếp theo, bạn sẽ được yêu cầu chọn ràng buộc tên máy chủ. Trong ví dụ dưới đây, tùy chọn để chọn tất cả các ràng buộc cho trang web được chọn.

Chọn tất cả các ràng buộc cho trang web đã chọn
Chọn tất cả các ràng buộc cho trang web đã chọn

Tên máy chủ sẽ được liệt kê và bạn sẽ được yêu cầu tiếp tục. Trong ví dụ dưới đây, chỉ có một liên kết tên máy chủ được tìm thấy trong trang blog. Nhập Y để tiếp tục.

Chọn để tiếp tục với lựa chọn
Chọn để tiếp tục với lựa chọn

Thông tin tiếp theo sẽ được cung cấp là địa chỉ email sẽ được đăng ký với Let’s Encrypt để nhận thông báo. Các thông báo này có thể bao gồm các vấn đề, lạm dụng và lời nhắc về việc chứng chỉ hết hạn.

Nhập địa chỉ email của bạn và nhấn Enter.

Cung cấp địa chỉ email để nhận thông báo
Cung cấp địa chỉ email để nhận thông báo

Lời nhắc tiếp theo hiển thị cho bạn tên tệp chứa các điều khoản dịch vụ. Bạn sẽ được hỏi (1) nếu bạn muốn mở tệp và (2) nếu bạn đồng ý với các điều khoản. Bạn phải đồng ý với các điều khoản để tiếp tục.

Chọn đồng ý với các điều khoản dịch vụ
Chọn đồng ý với các điều khoản dịch vụ

Sau khi chọn đồng ý với các điều khoản, win-acme sẽ tiến hành các bước sau:

  1. Gửi và xác thực yêu cầu Nhận và cài đặt chứng chỉ trong kho chứng chỉ. Chứng chỉ được cài đặt vào kho lưu trữ chứng chỉ Local MachineHosting theo mặc định.
  2. Thêm liên kết HTTPS của trang web để sử dụng chứng chỉ mới.
  3. Tạo một tác vụ để tự động gia hạn chứng chỉ.
Yêu cầu win-acme và cài đặt chứng chỉ SSL
Yêu cầu win-acme và cài đặt chứng chỉ SSL

Chứng chỉ SSL do Let’s Encrypt CA cấp chỉ có giá trị trong vòng 90 ngày kể từ ngày cấp. Theo mặc định, ứng dụng khách win-acme chỉ gia hạn các chứng chỉ cũ hơn 55 ngày.

Kiểm tra chứng chỉ SSL mới

Sau khi hoàn tất yêu cầu chứng chỉ và cài đặt bằng ứng dụng khách win-acme, việc kiểm tra sự tồn tại của chứng chỉ mới là tùy chọn nhưng được khuyến nghị. Do việc kiểm tra các chứng chỉ dễ dàng như thế nào nên bạn không có lý do gì để không làm điều đó.

Sử dụng mã này bên dưới trong PowerShell để hiển thị thông tin chứng chỉ. Trong ví dụ này, mã kiểm tra chứng chỉ khớp với tên chủ đề blog.psh-lab.gq bên trong kho chứng chỉ Lưu trữ web của máy cục bộ.

# Go to the Web Hosting certificate store location
Set-Location Cert:\LocalMachine\WebHosting\

# Get the certificate matching the blog.psh-lab.gq subject name
Get-ChildItem | Where-Object {$_.Subject -match 'blog.psh-lab.gq'} | Format-List

Ảnh chụp màn hình bên dưới cho thấy rằng có một chứng chỉ trong kho lưu trữ chứng chỉ Web Hosting khớp với chứng chỉ được cài đặt bởi win-acme.

Chứng chỉ SSL mới được cài đặt
Chứng chỉ SSL mới được cài đặt

Nếu bạn muốn tìm hiểu thêm về cách quản lý chứng chỉ trong Windows, vui lòng tham khảo Quản lý chứng chỉ với Trình quản lý chứng chỉ Windows và PowerShell [Hướng dẫn].

Buộc quyền truy cập chỉ HTTPS vào trang web

Việc cài đặt chứng chỉ SSL cho một trang web không tự động hạn chế trang web đó chỉ cho phép truy cập HTTPS. Bạn vẫn cần đảm bảo rằng trang web của bạn buộc phải truy cập chỉ HTTPS.

Để thay đổi cài đặt này, hãy mở trình quản lý IIS -> chọn trang web từ danh sách -> mở cài đặt SSL -> đánh dấu vào mục Yêu cầu SSL -> nhấp vào Áp dụng.

Yêu cầu quyền truy cập HTTPS vào trang web
Yêu cầu quyền truy cập HTTPS vào trang web

Tại thời điểm này, bạn đã cài đặt thành công chứng chỉ SSL cho trang web của mình và cấu hình trang web chỉ có thể truy cập qua HTTPS. Bây giờ, bước cuối cùng là duyệt trang web.

Ví dụ dưới đây là những gì bạn muốn thấy nếu trang web được duyệt bằng https://blog.psh-lab.org.

Trang web đã cài đặt chứng chỉ SSL hợp lệ

Kết luận

Trong bài viết này, bạn đã biết cách nhận chứng chỉ SSL miễn phí từ Let’s Encrypt Certificate Authority và cách cài đặt nó trên trang web IIS. Bạn cũng đã học cách xác nhận rằng quá trình cài đặt chứng chỉ đã thành công và cách buộc một trang web IIS yêu cầu quyền truy cập HTTPS vào nội dung của nó.

Các hướng dẫn và ví dụ được cung cấp trong bài viết này chỉ hiển thị những điều cơ bản của việc sử dụng một ứng dụng khách ACME cụ thể là win-acme. Bạn không bị hạn chế chỉ sử dụng một ứng dụng hoặc phương pháp để lấy chứng chỉ SSL. Cuối cùng, bạn muốn lấy và cài đặt chứng chỉ SSL miễn phí từ Let’s Encrypt như thế nào là do bạn quyết định.

Đã đăng trong VPS, Hosting, Window và được gắn thẻ , , .