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

  • 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.

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

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

    Có rất nhiều bạn làm web nhưng lại không biết cách build 1 site trên iis. Nên hôm nay mình sẽ chia sẻ các bước đơn giản để có thể dễ dàng tạo được 1 trang web bằng iis trên  server windows.

  • Build site PHP trên server windows.

    Build site PHP trên server windows.

    Mình đang quản trị các website asp.net nên việc build một website wordpress lên vps của mình gặp rất nhiều khó khăn. Và mình hỏi còn gặp những ý kiến như không thể build php và asp.net trên cùng một môi trường. Nhưng hôm nay mình đã làm được và chia sẻ lại cho mọi người. Nếu vẫn gặp khó khăn thì inbox cho mình nha. Thông tin nằm ở footer trang web.

  • Upload hình ảnh trong ckeditor asp.net

    Upload hình ảnh trong ckeditor asp.net

    Mình làm dự án và khách hàng yêu cầu thêm chức năng trong ckeditor. Nên cũng đọc, tìm kiếm share lại cho anh em có nhu cầu sử dụng nhé.

  • Microservice là gì? Ưu nhược điểm khi xài Microservice.

    Microservice là gì? Ưu nhược điểm khi xài Microservice.

    Hôm bữa mình có viết 1 bài về tổng quan về abp framwork. Trong framework này cũng có nhắc tới cách sử dụng và demo về microservice. Hôm nay mình sẽ chia sẻ chi tiết hơn về microservice. Mọi người xem nhé