利用web.config文件强制HTTPS跳转的方法

图片[1]-利用web.config文件强制HTTPS跳转的方法

我的服务器是用的WINDOWS Server IIS10,也是刚刚搬过来不久,之前HTTPS是验证通过的。

因为我比较懒,所以用的“BT面板”,设置了SSL和强制HTTPS,好像并不怎么理想。

今天发现我网站的百度HTTPS验证不通过,应该是搬过来之后,配置没有达到标准。

找了很多种方法去配置都验证不成功,我打算利用网站根目录的 web.config 文件实现自动跳转,网上大多数的规则写法都是一样的,不过好像只适用于IIS7、8。

代码如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”http redirect to https” stopProcessing=”true”>
<match url=”(.*)” />
<conditions>
<add input=”{HTTPS}” pattern=”^OFF$” />
<add input=”{HTTPS_HOST}” pattern=”^(localhost)” negate=”true” />
</conditions>
<action type=”Redirect” url=”https://{HTTP_HOST}/{R:1}” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

如果您之前有配置文件,只需要添加 <rule> … </rule> 部分即可。

最后在GG上找到了配置规则,可以适用于我的IIS10。

在 <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>

注意,一定要加在最前面,否则 <clear /> 会去掉 config.web 中包含或继承来的引用,造成网站出错。

添加后保存,重启IIS服务器就可以实现跳转了。

需要注意的是:

1、IIS管理器内该网站的 SSL设置,“要求SSL”一定不要勾选,会造成 http 403 或者 500 错误,无法跳转 https。

图片[2]-利用web.config文件强制HTTPS跳转的方法

2、SSL的客户证书一定要设置为“忽略”,否则手机访问时会提示“找不到任何证书”,应用“浏览器”请求使用证书。

图片[3]-利用web.config文件强制HTTPS跳转的方法

郑重声明:

1. 本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。

2. 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!

4. 荟聚资源不提供任何技术支持及安装服务,并且不保证所有资源都完整可用,下单前请确定自己是否有能力安装。

5. 如有链接无法下载、失效或广告,请联系管理员处理!

6. 源码属于可复制的产品,所有购买的源码无任何理由退款!

免责声明:本站所提供的所有资源来自于网络,版权争议与本站无关,版权归原创者所有!仅限用于学习和研究为目的,不得将上述内容资源用于商业或者非法用途,否则,一切后果请用户自负。本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。如果上述内容对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。如有侵权、不妥之处,请联系站长以便删除。 敬请谅解!
THE END
点赞0
分享
评论 抢沙发

请登录后发表评论