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

9/10/2020 4:54 PM | Kiến thức

Chứng chỉ SSL của một trang web cho phép bảo vệ dữ liệu của người dùng, giúp chống lại các cuộc tấn công man-in-the-middle (MITM) và cung cấp tính toàn vẹn dữ liệu. Trong bài viết này, chúng ta sẽ cùng cài đặt chứng chỉ SSL miễn phí của Let’s Encrypt vào một trang IIS chạy trên Windows Server

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. Cài đặt SSL

Hiện nay hầu hết các trang web đều đã hỗ trợ SSL (Secure Socket Layer). Nó mã hóa dữ liệu truyền đi giữa máy chủ web và trình duyệt và làm tăng tính bảo mật cho website. Ngoài ra, việc sử dụng SSL certificate (chứng chỉ SSL) là cần thiết bởi hiện tại Google đã ưu tiên xếp hạng website dựa theo giao thức https (HTTP + SSL), những website mà chỉ sử dụng giao thức http sẽ bị coi là “unsafe” (không an toàn).

Let’s Encrypt là nhà cung cấp chứng chỉ SSL miễn phí, tự động, hoạt động vì lợi ích của cộng đồng. Nó được quản lý bởi Internet Security Research Group (ISRG). Chi tiết bạn có thể tham khảo tại link: https://letsencrypt.org . Nó cho phép mọi người tự động nhận chứng chỉ SSL / TLS miễn phí thông qua API của họ. Mỗi chứng chỉ được xác nhận có thời hạn 90 ngày, vì thế khi gần hết hạn chúng ta phải tiếp tục gia hạn, điều đó cũng chẳng vấn đề gì vì chúng ta có thể auto việc đó với script đơn giản.

Phương pháp đơn giản nhất là sử dụng LetsEncrypt-Win-Simple: https://github.com/PKISharp/win-acme.   Các bạn vào mục releaes và tải win-acme.v1.9.12.1.zip về và giải nén để cùng thư mục C:\inetpub\letsencrypt chẳng hạn. Tiếp đó bạn chạy CMD với quyền Administrator, dir vào thư mục vừa giải nén c:\inetpub\letsencrypt và chạy lệnh letsencrypt.exe

cd c:\inetpub\letsencrypt<br>

letsencrypt.exe

Bấm N và Enter ( Create new certificate )

Say đó chọn 1 và Enter ( Sing le binding of an IIS site /0

Chương trình sẽ list ra danh sách các tên miền có trên web của bạn, nếu nó chỉ hiển thị subdomain hoặc tên miền web chính của bạn không có thì bạn cứ đánh thằng địa chỉ website của bạn ra, vd: baoanjsc.com.vn và enter. Chương trình sẽ chạy 1 lúc là ok.

Kiểm tra lại thông tin trên IIS sẽ thấy site được tự động thêm port 443 và đã add SSL cetificate, như vậy là ok rồi nhé. Chú ý là sau 90 ngày thì chứng chỉ này sẽ hết hạn, bạn phải renew ở bước trên chọn S ( Renew specific ). Các bạn có thể sử dụng Windows Task Scheduler để tự động gia hạn theo thời gian trước 90 ngày. Hy vọng là sẽ sử dụng được miễn phí lâu dài nhé.

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.

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

Để 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.

2. Cấu hình Redirect HTTP => HTTPS

Mở IIS Manager

- Chọn website để cấu hình chuyển hướng
- Trong bảng “Features View”, nhấp đúp vào URL Rewrite

- Chọn “Add Rules…”

- Chọn “Blank rule” và nhấn “OK”.

- Nhập “Redirect to HTTPS” vào ô "Name"

Nhấn vào nút V tại thanh “Match URL”

Trong khung “Match URL” được thả xuống, tiến hành cài đặt các bước bên dưới

Requested URL: Matches the Pattern
Using: Regular Expressions
Pattern: (.*)

Tiếp đến là cài đặt thông số cho thanh “Conditions”, nhấn vào “Add…”

Nhập thông số như bên dưới

Condition Input: {HTTPS}
Check if input string: Matches the Pattern
Pattern: ^OFF$

Nhấn “OK”

Kết quả cài đặt sẽ được hiển thị như hình dưới

Bỏ qua phần “Server Variables”.

Ở thanh “Action”. Cài đặt thông số như sau:

Action Type: Redirect
Redirect URLhttps://{HTTP_HOST}/{R:1}
Redirect Type: See Other (303)

Nhấn “Apply” và chọn tiếp “Back to Rules”

Kết quả cài đặt chuyển hướng thành công sẽ như hình bên dưới

Kiểm tra bằng trình duyệt của bạn.

Nếu bạn xem file web.config file bạn sẽ thấy đoạn lệnh mới sẽ được thêm vào.

Như vậy là chúng ta đã tạo xong chứng chỉ SSL cho website trên IIS rồi. Chúc các bạn thành công!

Các bài viết liên quan: 

Cách dựng 1 website bằng iis.

Redirect Http to Https trên IIS

Cấu hình nhiều domain redirect về một domain chính bằng IIS

Tin tức khác

  • Hướng dẫn đăng ký email google theo tên miền miễn phí

    Hướng dẫn đăng ký email google theo tên miền miễn phí

    Nếu như bạn đang là một doanh nghiệp với quy mô ở mức vừa và nhỏ, bạn muốn tạo được sự tin cậy và uy tín hơn trong hoạt động gửi email cho khách hàng. Bạn nên suy nghĩ sử dụng email doanh nghiệp theo tên miền riêng. Nếu bạn đầu tư cả một hệ thống Server chuyên nghiệp thì chi phí rất lơn, nhưng bạn không cần lo lắng, trong bài viết sau tôi xin giới thiệu với bạn về cách để tạo email doanh nghiệp miễn phí theo tên miền trên Google.

  • Xu hướng việc làm trong tương lai ở Việt Nam

    Xu hướng việc làm trong tương lai ở Việt Nam

    Nghề nghiệp là một công cụ để mang lại giá trị cho con người. Thông qua việc hoạt động lao động để tạo ra của cải vật chất trong xã hội. Chính vì vậy, làm gì và tương lai nghề nghiệp đó như thế nào là một trong những vấn đề mà rất nhiều người quan tâm. Xu hướng nghề nghiệp trong tương lai sẽ như thế nào để bạn bắt đầu từ bây giờ. Hãy cùng tìm hiểu trong bài viết sau nhé.

  • Những công việc có xu hướng thất nghiệp trong tương lai.

    Những công việc có xu hướng thất nghiệp trong tương lai.

    Thế kỷ 21 chúng ta đang sống trong thời đại của cách mạng công nghiệp 4.0, là sự kết hợp cao độ giữa hệ thống siêu kết nối vật lý và kỹ thuật số với tâm điểm là internet, vạn vật kết nối và đặc biệt là trí tuệ nhân tạo. Đây cũng là thế kỷ của chất xám và công nghệ thông tin. Chính vì sự bùng nổ này dẫn đến việc làm ngày càng được mở rộng với nhiều ngành nghề hấp dẫn. Bên cạnh đó cũng không có ít ngành sẽ dần bị thay thế bởi trí tuệ nhân tạo (A.I.) và các công nghệ tiên tiến khác

  • Tư duy logic là gì? Đặc điểm và ứng dụng tư duy vào cuộc sống như thế nào?

    Tư duy logic là gì? Đặc điểm và ứng dụng tư duy vào cuộc sống như thế nào?

    Trong cuộc sống cũng như trong công việc học tập thường xuyên nảy sinh nhiều vấn đề. Chúng ta không thể dựa vào cảm giác, tri giác mà giải quyết những vấn đề đó mà phải sử dụng nhận thức lí tính là tư duy và tưởng tượng, đặc biệt là tư duy. Vậy tư duy là gì? Đây là một vấn đề thu hút sự quan tâm của nhiều ngành khoa học. Mọi thế giới quan đều được con người dùng tư duy của mình để đi sâu khám phá mọi góc cạnh của thế giới.

  • Bí quyết giúp nhớ lâu và cách làm thực tiễn

    Bí quyết giúp nhớ lâu và cách làm thực tiễn

    Mọi thứ hiện đại hóa đi theo con người cũng lười việc ghi nhớ hơn. Bởi vậy mà việc ghi nhớ của con người hiện nay trở nên giảm sút cực kì nghiêm trọng. Đơn cử như mình ngày xưa có thể nhớ được tất cả các số điện thoại của họ hàng, bạn bè trong lớp và thậm chí là cả biển số xe. Nhưng giờ mình chẳng còn nhớ nổi một số điện thoại nào của ai ngoài những người trong gia đình mình. Vậy lí do là gì có phải là càng lớn mình càng bị nhiều thứ chi phối và không còn sự ghi nhớ như trước. Hôm nay chúng ta cùng tìm hiểu những bí quyết giúp chúng ta có thể nhớ dai, nhớ dài và nhớ tới hoài luôn nhé... 

  • Load balancing là gì

    Load balancing là gì

    Load balancing còn gọi là cân bằng tải, một phương pháp phân phối khối lượng tải trên nhiều máy tính hoặc một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối đa hóa thông lượng, giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ. Cùng tìm hiểu chi tiết bài viết nhé.

  • Nên thiết kế web bằng ngôn ngữ gì?

    Nên thiết kế web bằng ngôn ngữ gì?

    Thế giới công nghệ phát triển đã thay đổi hoàn toàn những phương pháp truyền thống của con người. Xưa mua báo của các dịch vụ bưu điện, đi chợ mua thức ăn, vật phẩm. Gửi thư tay... Thì bây giờ các bạn chỉ cần ở nhà có thể làm tất cả bằng vài cú click chuột trên website. Vậy website là gì mà lợi hại như vậy.  Hãy đọc bài viết dưới đây nhé.