iis反向代理和强制HTTPS配置

2024-08-22
编程
阅读量:-

在 IIS 上配置反向代理并强制 HTTPS 访问可以通过以下步骤实现:

步骤 1: 安装 Application Request Routing (ARR) 模块

Application Request Routing (ARR) 是 IIS 的一个扩展模块,用于配置反向代理。

  1. 下载并安装 Application Request Routing (ARR)
  2. 下载并安装 URL Rewrite 模块(如果尚未安装)。


修复步骤:

  1. 删除现有的错误规则打开 IIS 管理器。选择你的站点,然后双击 URL 重写。删除之前设置的会导致 URL 出现重复的重定向规则。
  2. 正确配置 HTTP 到 HTTPS 的重定向规则

步骤 1: 创建重定向规则点击 添加规则 > 空白规则。命名规则为 HTTP to HTTPS Redirect。

步骤 2: 设置匹配 URL模式:  .*  勾选 使用正则表达式。

步骤 3: 添加条件点击 添加条件,设置 条件输入 为 {HTTPS}。模式: ^OFF$这样确保只在请求未通过 HTTPS 时触发此规则。

步骤 4: 设置重定向操作动作类型: 选择 重定向。重定向 URL: 输入 https://{HTTP_HOST}{REQUEST_URI}       {HTTP_HOST} 会使用请求的域名。{REQUEST_URI} 会包含请求的路径和查询字符串部分。重定向类型: 选择 永久 (301)。


配置反向代理规则:

步骤 1: 创建反向代理规则再次在 URL 重写 中,点击 添加规则 > 空白规则。命名规则为 Reverse Proxy to 127.0.0.1:8080。

步骤 2: 设置匹配 URL模式: ^(.*)$勾选 使用正则表达式。步骤 3: 设置重写操作动作类型: 选择 重写。重写 URL: 输入 http://127.0.0.1:8080/{R:1}保持查询字符串: 勾选。

调整规则顺序确保 HTTP to HTTPS Redirect 规则位于 Reverse Proxy to 127.0.0.1:8080 规则的前面。规则执行的顺序非常重要。

最终配置应该确保:

  • 当用户访问 http://yourdomain.com 时,首先触发重定向规则,将请求重定向到 https://yourdomain.com
  • 然后,通过 HTTPS 的请求被反向代理到 http://127.0.0.1:8080

完成这些调整后,再次测试访问,你应该看到正确的 HTTPS 重定向和反向代理行为。

湘ICP备2022023896号-1

© 2024 zhengzhuo. All Rights Reserved.