【发布时间】:2021-09-22 15:34:10
【问题描述】:
我目前正在使用以下规则在网站上强制执行 https:
<rule name="Enforce HTTPS" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" ignoreCase="true" pattern="^off$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
问题是我在条件中使用的 HTTPS 服务器变量不是“不会对输出缓存策略造成任何影响”的服务器变量列表的一部分 (see full list)。
这是一个问题的原因是在设置了一些失败的请求跟踪规则之后,我意识到一些条目有以下警告:REWRITE_DISABLED_KERNEL_CACHE
经过一番研究,我发现了一个相关的forum thread 提到:
如果 URL 重写模块中的任何规则将禁用内核模式缓存 规则集有一个使用缓存不安全服务器变量的条件。这 无论请求的 URL 是否与 规则模式与否。
如果性能不是问题,这不会是问题,但网站不是那么快,我想知道这个缓存问题是否不是问题的一部分。
通过阅读安全变量列表,似乎没有包含用于请求的协议,所以这似乎是不可能的,但我仍然认为我可能会问以防万一。
【问题讨论】:
标签: iis https url-rewriting iis-10