You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求匹配特定子域名的正则表达式(IIS与ARR请求解析场景)

精准匹配特定子域名abc.example.com的ARR配置方案

我明白你要的是只锁定abc.example.com这一个特定子域名,而非通配所有子域名,之前我也踩过类似的坑,给你一步步说怎么在ARR里配置,完美覆盖你列出的所有场景(HTTP/HTTPS、带路径、带参数):

核心思路

ARR的路由逻辑依赖IIS的URL重写模块,我们不需要在URL路径上做复杂匹配,而是通过**校验请求的主机头(HTTP_HOST)**来精准锁定目标子域名,路径和参数不影响匹配判断,这样就能覆盖所有你提到的场景。

具体配置步骤

  1. 打开IIS管理器,找到你要配置的站点(也可以直接在服务器级别配置全局规则),点击右侧面板的URL重写
  2. 点击右侧的添加规则,选择空白规则(别用预定义模板,避免冗余配置)
  3. 逐个配置规则的各个部分:
    • 名称:起个好记的就行,比如Match abc.example.com
    • 匹配URL:
      • 匹配类型:选「正则表达式」
      • 模式:填^.*$(这个模式会匹配所有路径和参数,我们只关心主机头部分)
      • 勾选「忽略大小写」
    • 条件:点击「添加」按钮,新增一个条件:
      • 条件输入:选择{HTTP_HOST}(这个服务器变量会获取请求的主机头,比如abc.example.com)
      • 检查输入字符串:选「与模式匹配」
      • 模式:填^abc\.example\.com$(注意这里的.要加反斜杠转义——正则里.代表任意字符,转义后才是实际的点;^和$确保完全匹配,不会误命中abc1.example.com或者abc.example.com.cn这类相似域名)
    • 操作:根据你的需求选对应的操作类型(ARR常用的是「路由到服务器组」,也可以选「重写」「重定向」):
      • 如果是反向代理到后端服务器组:操作类型选「路由到服务器组」,然后选择你预先配置好的服务器组
      • 如果是重写URL:操作类型选「重写」,在「重写URL」里填目标地址,比如http://backend-server/{R:0}({R:0}会完整保留原路径和参数)
  4. 点击「应用」保存规则

为什么这个方案能覆盖所有场景?

  • 不管是HTTP还是HTTPS请求,{HTTP_HOST}的值都是abc.example.com,所以条件都会命中
  • 路径(比如/xyz)和查询参数(比如?q=123)都被^.*$的URL模式匹配,不会干扰主机头的判断,所以所有带路径、带参数的请求都会被正确识别

注意事项

  • 确保你已经安装了ARR(Application Request Routing)和URL重写模块,如果没装,直接从IIS管理器的「Web平台安装程序」里搜索安装即可
  • 如果是HTTPS请求,要确保站点配置了正确的SSL证书,并且ARR的SSL终止(如果需要)已经设置妥当,避免HTTPS请求无法被正确捕获
  • 配置完可以用URL重写的「测试规则」功能验证:输入各种测试URL(比如https://abc.example.com/xyz?q=123),查看是否命中规则

内容的提问来源于stack exchange,提问作者Gabbar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:05:10