我使用 IIS10,并且想将所有网站的所有 HTTP 重定向到 HTTPS。
例如:
http://one.test.example
应重定向至https://one.test.example
http://two.test.example
应重定向至https://two.test.example
http://three.test.example
应重定向至https://three.test.example
所有站点均位于同一服务器中,使用同一接口(相同 IP,相同 443 端口)
我尝试了多种解决方案,但都没有效果。
答案1
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
在子域的根文件夹中使用此 web.config 文件。这将使用查询字符串将所有请求重写为 https。
答案2
为了实现这一点,您需要在 IIS 中为每个域和规则分别创建一个单独的站点。检查配置重写规则文章一些示例。此外,您还需要下载并安装URL 重写模块。如果你在服务器上,请查看如何在Windows 服务器