基于自定义 HTTP 标头的 UrlRewrite 条件

2023-11-23

我正在尝试在 UrlRewrite 中配置一个有 2 个条件的规则:

  • HTTP 标头HTTP_HOST需要匹配某个域 (api.contoso.com)
  • 自定义 HTTP 标头x-app-version需要出现在 HTTP 请求中

根据此信息,我想重定向到后端 API 的不同版本。

Problem该规则在第一个条件下的行为符合预期。 当它开始时HTTP_HOST匹配 api.contoso.com。 然而,它忽略了我的习惯x-app-version header.

假设因此,我担心 UrlRewrite 条件只能与下拉列表中有限的一组预定义 HTTP 标头结合定义(HTTP_HOST, REMOTE_ADDRESS, REMOTE_HOST, …)

Question假设是正确的还是这应该是可能的? 我的配置或其他基于自定义定义的 HTTP 标头的条件的方法是否存在错误?

<rule name="ARR_test2" enabled="false">
  <match url="(.*)" />  
  <conditions>
    <add input="{HTTP_HOST}" pattern="api.contoso.com" />
    <add input="{x-app-version}" pattern="1" />
  </conditions>
  <action type="Rewrite" url="https://FARM_apiv1/{R:0}" />
</rule>

好的,我发现了如何在 UrlRewrite 条件下使用自定义 HTTP 标头:

  • 自定义标头前面需要带有“HTTP_”。
  • 用下划线替换破折号

例如:为了检索我的自定义标头“x-app-version”,我可以使用“HTTP_x_app_version”。 所以我的 UrlRewrite 配置应该如下所示

<rule name="ARR_test2" enabled="false">
  <match url="(.*)" />  
  <conditions>
    <add input="{HTTP_HOST}" pattern="api.contoso.com" />
    <add input="{HTTP_x_app_version}" pattern="1" />
  </conditions>
  <action type="Rewrite" url="https://FARM_apiv1/{R:0}" />
</rule>

其实文档里已经说得很清楚了:https://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于自定义 HTTP 标头的 UrlRewrite 条件 的相关文章

随机推荐

  • Clojure - 为什么在阻塞插入通道时执行会挂起? (核心.异步)

    考虑以下片段 let chs repeatedly 10 chan doseq c chs gt c hello doseq c chs println c hello 相反 它工作得很好 要进行异步放置 请使用clojure core a
  • 如何更改 JFrame 中的 java 图标

    好吧 我一直在安静地研究这个问题 我对 java 相当陌生 但认为这很容易 我已经尝试了该网站上已回答的几乎所有方法 但仍然没有运气 通常当我在这里查看时 我能够找到适合我正在寻找的答案 有谁知道如何更改 JFrame 右上角的 Java
  • 上传前预览图像

    我希望能够在上传文件 图像 之前对其进行预览 预览动作应该全部在浏览器中执行 而不是使用Ajax上传图像 我怎样才能做到这一点 imgInp onchange evt gt const file imgInp files if file b
  • 如何深度复制 DateTime 对象?

    date1 date2 new DateTime date2 gt add new DateInterval P3Y Now date1 and date2包含相同的日期 三年后 我想创建两个单独的日期时间 一个是从字符串解析的 另一个是添
  • 检查所有 EditText 是否为空

    我在 xml 中有 6 个 EditText 字段 单击按钮时 我需要验证所有 EditText 是否都有值或者为空 目前我正在一一检查每个 EditText 我怎样才能一次检查所有内容 代码 private Button BtnSave
  • 业力开始 - 传递参数

    有没有办法通过 Karma 命令行传递参数 然后在测试中的某个位置读取该参数 例如 这就是想要的 karma start branding clientX 然后在我的规范中的某个地方我需要访问这个变量 我需要 clientX 值 这有可能吗
  • 如何更改 SignalR 最大消息大小?

    我需要在 SignalR 中传输大型 JSON 消息 但默认情况下最大消息大小受到限制 有什么方法可以增加该最大大小 我还找到了一些相关链接 但没有找到任何合适的解决方案 https learn microsoft com en us as
  • 如何在Python中提取XML属性的值?

    我需要使用 Python 提取 XML 文档中的属性值 例如 如果我有一个像这样的 XML 文档
  • 如何在网页中连续显示python输出?

    我希望能够访问一个网页 它将运行一个 python 函数并在网页中显示进度 因此 当您访问网页时 您可以看到脚本的输出 就像从命令行运行它一样 并在命令行中查看输出 我需要在函数中做什么 我需要在模板中做什么 EDIT 我正在尝试将 Mar
  • 未捕获的类型错误:无法添加属性 12,对象不可扩展

    我似乎无法理解我在客户端应用程序上遇到的错误 我正在订阅 graphql 订阅 并且能够检索更新 但无法将更改推送到绑定到视图的名为 models ModelClass 的打字稿数组 我是否遗漏或做错了什么 模型 组件 ts this ap
  • PHP Zend Framework - 如何从请求对象获取请求 URI 片段?

    比如说我有一个 URIhttp 127 0 0 1 somecontroller someaction 12345这带我去someAction someController 控制器的操作 从那里 我可以通过检索请求对象 this gt ge
  • 制作多语言网站的最佳方式

    我用 ASP NET C 及其内容English 现在我需要以支持多种语言的方式制作这个网站 即 德语 法语 标签 文本框 字符串所有值将显示各自选定的语言 在搜索时我发现有一些方法 比如 使用本地化 使用资源文件 数据库 不同语言的所有内
  • p:fileUpload 中的侦听器方法永远不会在 primefaces 中调用 [重复]

    这个问题在这里已经有答案了 我正在尝试上传带有 primefaces 的图像 但未调用 fileUploadListener
  • 服务中的重定向 - symfony2

    我可以重定向到服务中的另一个控制器吗 我已经根据提供的示例实现了一项服务 阿塔米尔 我的由控制器执行的函数代码如下所示 public function verifyanddispatch session this gt request gt
  • 使用ajax和jquery替换div内容

    我尝试使用以下代码来替换 div 内容 但它不起作用 我做错了什么 function MakeRequest page num li click function var id this id alert id ajax url displ
  • 如何从 div 外部的链接使用 jQuery UI 选项卡打开选项卡?

    这可能有点难以解释 但我会尽力 我有一个产品页面 有两个选项卡 完整说明和视频 这些是使用 jQuery UI 选项卡完成的 在页面的这一部分上方 我有一个带有缩略图的产品图像 但我希望其中一个缩略图成为查看视频的链接 当然 该链接包含在视
  • 删除 MATLAB 中的空单元格

    我想删除 matlab 元胞数组底部的所有空元胞 然而 我发现的所有代码示例都将矩阵折叠为向量 这不是我想要的 所以这段代码 a 1 2 3 4 emptyCells cellfun isempty a a emptyCells 结果在这个
  • Swift:如何检测 UISplitViewController 当前是否显示 1 个或 2 个控制器?

    我如何检测是否UISplitViewController目前刚刚展示1 个视图控制器或者它在双窗格中2 个视图控制器并排显示 分割视图控制器反映了实际的显示模式显示模式财产 全部可见 主 UIViewController 和辅助 UIVie
  • 我需要显式分配我的 NSNumber 吗?

    我定义一个数字 如下 NSNumber nn0 NSNumber numberWithInt 0 无需任何分配即可正常工作 我的理解是 如果我使用 numberWithInt 则会自动调用 alloc 和 init 如果我尝试在函数结束时释
  • 基于自定义 HTTP 标头的 UrlRewrite 条件

    我正在尝试在 UrlRewrite 中配置一个有 2 个条件的规则 HTTP 标头HTTP HOST需要匹配某个域 api contoso com 自定义 HTTP 标头x app version需要出现在 HTTP 请求中 根据此信息 我