Redirect Http to Https trên IIS

11/27/2020 10:02 PM | Lập trình

Chứng chỉ SSL là một loại bảo mật giúp mã hóa liên lạc giữa website và trình duyệt. Và khi website đã được cấp SSL thì chúng ta có thể truy cập bằng cách https://yourdomain.com. HTTPS là phần mở rộng bảo mật của HTTP. Website được cài đặt chứng chỉ SSL/TLS có thể dùng gaio thức HTTPS để thiết lập kênh kết nối an toàn tới server. Và bài viết này giúp chúng ta config trên iis khi người dùng gõ trên trình duyệt http sẽ tự động chuyển sang https.

IIS Chuyển hướng HTTP đến HTTPS

Thiết lập chuyển hướng HTTP/HTTPS trong IIS

Sau khi chứng chỉ SSL được cài đặt, trang web của bạn vẫn có thể truy cập được thông qua kết nối HTTP không an toàn thông thường. Để kết nối an toàn, khách truy cập phải chỉ định https:// tố theo cách thủ công khi nhập địa chỉ trang web của bạn vào trình duyệt của họ.

Để buộc kết nối an toàn trên trang web của bạn, cần thiết lập quy tắc chuyển hướng HTTP/HTTPS nhất định. Bằng cách này, bất kỳ ai vào trang web của bạn bằng liên kết như "yourdomain.com" sẽ được chuyển hướng đến "https://yourdomain.com" hoặc "https://www.yourdomain.com" (tùy thuộc vào lựa chọn của bạn) làm cho lưu lượng truy cập được mã hóa giữa máy chủ và phía máy khách.

Dưới đây là các bước để thiết lập chuyển hướng HTTPS IIS:

LƯU Ý: Có 4 loại chuyển hướng của quy tắc chuyển hướng có thể được chọn trong trình đơn đó: - Loại vĩnh viễn (301) - thích hợp hơn trong trường hợp này, cho khách hàng biết rằng nội dung của trang web được chuyển vĩnh viễn sang phiên bản HTTPS. Tốt cho SEO, vì nó mang lại tất cả lưu lượng truy cập đến trang web HTTPS của bạn tạo ra tác động tích cực đến thứ hạng của nó trong công cụ tìm kiếm.

- Tìm thấy (302) - chỉ nên được sử dụng nếu bạn di chuyển nội dung của các trang nhất định đến một địa điểm mới * tạm thời *. Bằng cách này lưu lượng truy cập SEO đi ủng hộ vị trí của nội dung trước đó. Tùy chọn này thường không được khuyến nghị cho chuyển hướng HTTP/HTTPS.

- Xem Khác (303) - loại chuyển hướng cụ thể cho yêu cầu GET. Không được khuyến nghị cho HTTP/HTTPS.

- Tạm thời (307) - HTTP/1.1 kế của loại chuyển hướng 302. Không được khuyến nghị cho HTTP/HTTPS.

CHỌN 2: Chỉ định Quy tắc Chuyển hướng là https://{HTTP_HOST}/{R:1} và chọn hộp Chắp thêm chuỗi truy vấn.

Loại hành động cũng được đặt là Chuyển hướng.

  1. Tải xuống và cài đặt mô-đun VIẾT LẠI URL.
  2. Mở bảng điều khiển IIS Manager và chọn trang web bạn muốn áp dụng chuyển hướng trong menu bên trái:

  3. Bấm đúp vào biểu tượng Viết lại URL.
  4. Bấm Thêm (các) Quy tắc trong menu bên phải.
  5. Chọn Quy tắc Trống trong phần Đến, sau đó nhấn OK.

  6. Nhập bất kỳ tên quy tắc nào bạn muốn.
  7. Trong phần URL trận đấu:

    - Chọn Khớp mẫu trong menu thả xuống URL được yêu cầu
    - Chọn Biểu thức chính quy trong menu thả xuống Sử
    dụng - Nhập mẫu sau trong phần URL trận đấu: (.*)
    - Chọn hộp Bỏ qua trường hợp

  8. Trong phần Điều kiện, chọn Khớp tất cả bên dưới menu thả xuống Nhóm Lô-gic và nhấn Thêm.
  9. Trong cửa sổ được nhắc:


    - Nhập {HTTPS} làm
    đầu vào điều kiện - Chọn Khớp Mẫu hình từ menu thả xuống
    - Nhập ^OFF$ dưới dạng mẫu
    - Nhấn OK

  10. Trong phần Hành động, hãy chọn Chuyển hướng làm loại hành động và chỉ định những điều sau đây cho URL Chuyển hướng:

    https://{HTTP_HOST}{REQUEST_URI}

  11. Bỏ chọn hộp Chắp thêm chuỗi truy vấn.
  12. Chọn Loại Chuyển hướng bạn chọn. Toàn bộ phần Hành động sẽ trông như thế này:

  13. Nhấp vào Áp dụng ở phía bên phải của menu Hành động.

Chuyển hướng IIS có thể được kiểm tra bằng cách truy cập trang web của http:// được chỉ định trong URL. Để đảm bảo rằng trình duyệt của bạn không hiển thị phiên bản được lưu trong bộ nhớ cache của trang web, bạn có thể sử dụng chế độ ẩn danh của trình duyệt.

Quy tắc được tạo trong IIS, nhưng trang web vẫn không được chuyển hướng đến https://

Thông thường, quy tắc chuyển hướng được ghi vào tệp web.config nằm trong thư mục gốc tài liệu của trang web của bạn. Nếu chuyển hướng không hoạt động vì lý do nào đó, hãy đảm bảo rằng web.config tồn tại và kiểm tra xem nó có chứa quy tắc thích hợp hay không.

Để thực hiện việc này, hãy làm theo các bước sau:

  1. Trong danh sách các trang web của IIS, nhấp chuột phải vào trang web của bạn. Chọn tùy chọn Khám phá:

  2. Khám phá sẽ mở thư mục gốc tài liệu của trang web. Kiểm tra xem tệp web.config có ở đó không.
  3. Tệp web.config phải có khối mã sau: Lưu ý:Đây là cấu hình mặc định. Nếu bạn muốn thay đổi nó, bạn có thể cần phải kiểm tra tài liệu máy chủ này.
    <configuration>
     <system.webServer>
     <rewrite>
     <rules>
     <rule name="HTTPS force" enabled="true" stopProcessing="true">
     <match url="(.*)" />
     <conditions>
     <add input="{HTTPS}" pattern="^OFF$" />
     </conditions>
     <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
     </rule>
     </rules>
     </rewrite>
     </system.webServer>
    </configuration>
  4. Nếu tệp web.config bị thiếu, bạn có thể tạo tệp .txt mới, đặt mã nói trên ở đó, lưu và sau đó đổi tên tệp thành web.config.

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

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

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

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

Tin tức khác

  • Tạo chatbot với CHAT GPT sử dụng C#

    Tạo chatbot với CHAT GPT sử dụng C#

    Trong hướng dẫn này, chúng ta sẽ đi sâu vào quá trình xây dựng chatbot bằng ChatGPT và C#. Chúng tôi sẽ đề cập đến mọi thứ, từ thiết lập quyền truy cập API ChatGPT đến triển khai chatbot của bạn. Bắt đầu nào!

  • Remote SQL Server. Cách mở port 1433 để kết nối với sqlserver từ xa.

    Remote SQL Server. Cách mở port 1433 để kết nối với sqlserver từ xa.

    Hiện nay nhiều người có xây dựng cơ sở dữ liệu trên server và kết nối tới để làm việc cho tiện. Nên mình chia sẻ bài viết này cho người mới nhé.

  • Sự khác nhau giữa Application, Virtual Direction và Site. Cách tạo 1 Virtual Direction.

    Sự khác nhau giữa Application, Virtual Direction và Site. Cách tạo 1 Virtual Direction.

    Trong IIS, bạn có thể tạo các trang web, ứng dụng và thư mục ảo để chia sẻ thông tin với người dùng qua Internet, mạng nội bộ hoặc mạng phụ. Mặc dù các khái niệm này đã tồn tại trong các phiên bản trước của IIS, một số thay đổi trong IIS 7 trở lên ảnh hưởng đến định nghĩa và chức năng của các khái niệm này. Quan trọng nhất, các trang web, ứng dụng và thư mục ảo giờ đây hoạt động cùng nhau theo mối quan hệ phân cấp như những khối xây dựng cơ bản để lưu trữ nội dung trực tuyến và cung cấp dịch vụ trực tuyến.

  • Design pattern là gì? Tại sao nên sử dụng Design pattern?

    Design pattern là gì? Tại sao nên sử dụng Design pattern?

    Design pattern là các giải pháp tổng thể đã được tối ưu hóa, được tái sử dụng cho các vấn đề phổ biến trong thiết kế phần mềm mà chúng ta thường gặp phải hàng ngày. Đây là tập các giải pháp đã được suy nghĩ, đã giải quyết trong tình huống cụ thể.

  • CDN là gì? Khi nào thì cần xài CDN cho website

    CDN là gì? Khi nào thì cần xài CDN cho website

    Thuật ngữ CDN có thể bạn sẽ bắt gặp khá nhiều bài viết trên thachpham.com, hoặc khi bạn cần một người có kinh nghiệm tư vấn giải pháp tiết kiệm băng thông máy chủ và tăng tốc độ website đều sẽ được nghe tư vấn là sử dụng CDN. Vậy CDN chính xác là cái gì, có bao nhiêu loại CDN, và website của bạn có thích hợp để sử dụng CDN không thì bài này sẽ cung cấp cho bạn các thông tin cần thiết đó.

  • Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?

    Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?

    Môi trường internet phát triển, kéo theo tội phạm mạng tăng cao, vì thế cần có những chuẩn bảo mật web cao hơn. Đó là lí do giao thức HTTPS dần thay thế hoàn toàn HTTP. Vậy, giao thức HTTPS là gì? HTTP và HTTPS khác nhau như thế nào? Và tại sao các website nên dùng HTTPS thay vì HTTP? Bài viết này sẽ giúp bạn giải đáp tất cả những thắc mắc đó.

  • Tích hợp zalo vào website.

    Tích hợp zalo vào website.

    Nếu bạn là một người có website bán hàng thì việc liên hệ thuận lợi nhanh cho khách hàng luôn là ưu tiên hàng đầu. Cũng chính vì lí dó này mình đã tìm hiểu sau khi chèn cho website của mình. Thấy hay nên chia sẻ cho mọi người có nhu cầu.