我正在尝试将所有 HTTP 请求重定向到 HTTPS。这是我的 web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script" />
</system.webServer>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我在 Stackoverflow 上的另一篇文章中找到了这个示例: How to force HTTPS using a web.config file
当我保存该文件并尝试使用 http 访问我的站点时,它不会重定向到 https。
我想也许该文件被忽略了,所以我在 web.config 中输入了一些不正确的语法,然后我收到了 500 错误——这意味着它确实在查看 web.config 文件。
我是否误解了上述配置应该做什么?我想将所有 HTTP 请求重定向到 HTTPS。
被重定向到的站点是 Tomcat 的虚拟目录,如果它有所作为的话。