使用 IIS 检查请求中是否存在 header 以及值
Check if header is present in request with IIS and the value
我如何检查 IIS 8 上是否存在请求 header 并且此 header 的值例如是“1234”?
我正在尝试以 500 错误响应,例如,如果 header 不存在或值不是“1234”,因此如果您没有秘密值则无法访问。
在 IIS 上可以吗?我检查了所有可用的服务器变量,但没有找到对 Request headers 的任何引用。 https://docs.microsoft.com/en-us/iis/web-dev-reference/server-variables
一个请求header是一个HTTPheader,可以在HTTP请求中用来提供请求上下文的信息,所以我建议你可以尝试使用自定义HTTPheaders 处于 urlrewrite 条件:
- 自定义 header 需要在前面加上“HTTP_”。
- 用下划线替换破折号
例如:为了检索自定义header“x-app-version”,您可以使用“HTTP_x_app_version”。所以 thr urlrewrite 配置应该是这样的:
<rule name="test" enabled="false">
<match url="(.*)" />
<conditions>
<add input="{HTTP_x_app_version}" pattern="^1234$" />
</conditions>
<action type="Redirect" url="your url" />
</rule>
我如何检查 IIS 8 上是否存在请求 header 并且此 header 的值例如是“1234”?
我正在尝试以 500 错误响应,例如,如果 header 不存在或值不是“1234”,因此如果您没有秘密值则无法访问。
在 IIS 上可以吗?我检查了所有可用的服务器变量,但没有找到对 Request headers 的任何引用。 https://docs.microsoft.com/en-us/iis/web-dev-reference/server-variables
一个请求header是一个HTTPheader,可以在HTTP请求中用来提供请求上下文的信息,所以我建议你可以尝试使用自定义HTTPheaders 处于 urlrewrite 条件:
- 自定义 header 需要在前面加上“HTTP_”。
- 用下划线替换破折号
例如:为了检索自定义header“x-app-version”,您可以使用“HTTP_x_app_version”。所以 thr urlrewrite 配置应该是这样的:
<rule name="test" enabled="false">
<match url="(.*)" />
<conditions>
<add input="{HTTP_x_app_version}" pattern="^1234$" />
</conditions>
<action type="Redirect" url="your url" />
</rule>