如何使用web.config文件强制HTTPS

我搜索过Google和StackOverflow,试图找到解决方案,但它们似乎都与ASP.NET等有关。

我通常在服务器上运行Linux,但是对于这个客户端,我使用的是带有IIS 7.5(和Plesk 10)的Windows。这就是为什么我

文件的原因。在.htaccess文件中,您可以使用重写条件来检测协议是否为HTTPS并进行相应的重定向。有没有

可以使用web.config文件甚至使用已安装的“ ”模块来实现此目的?

我 因此,如果解决方案中涉及此内容,请提供清晰的实现步骤。

之所以使用web.config而 PHP 这样做是因为我想对站点内的所有资产强制使用HTTPS。

回答:

您需要URL重写模块,最好是v2(我没有安装v1,因此不能保证它会在那里工作,但是应该可以)。

这是此类web.config的示例-它将对所有资源强制使用HTTPS(使用301永久重定向):

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<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" appendQueryString="false" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

此特定解决方案与ASP.NET/PHP或任何其他技术无关,因为它仅使用URL重写模块完成-它在初始/较低级别之一中进行处理-

在请求到达您的代码之前被执行。

以上是 如何使用web.config文件强制HTTPS 的全部内容, 来源链接: utcz.com/qa/399855.html

回到顶部