要实现IIS7 IIS8的http自动跳转到HTTPS(80端口跳转443端口),需要进行如下步骤:
-
安装SSL证书:首先需要安装SSL证书,也就是在网站上配置SSL,启用HTTPS协议。需要到证书授权机构申请证书并在IIS中进行使用。
-
绑定HTTPS协议:进入IIS管理控制台,找到对应的网站,选择“Bindings”选项,添加https协议、选择对应的证书。
-
配置http到https跳转:在网站根目录的web.config文件中添加以下代码:
<system.webServer>
<rewrite>
<rules>
<rule name="http to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
其中match的url值为正则表达式,这里的意思是指将所有的http请求都进行跳转,而不是只针对某个具体的URL。conditions节点中用add元素来判断是否为https请求,如果不是就会自动跳转到https协议,并且保持原有URL的参数不变。
以下两条示例说明:
例1. 在服务器上搭建了一个网站,在域名解析时,将域名指向了服务器资源。当访问该网站时,发现默认是http协议,如何实现自动跳转到https协议?
答:首先根据上述步骤,安装SSL证书及绑定https协议,然后在对应网站的web.config文件中添加配置代码,重启站点即可实现自动跳转。
例2. 现在要在网站中增加一个管理系统,而该系统只能使用https协议进行访问,如何实现只有该系统的页面自动跳转到https协议?
答:可以在对应的管理系统的web.config文件中加入如下代码:
<system.webServer>
<httpRedirect enabled="true" destination="https://www.example.com" />
</system.webServer>
在此处,我们将enabled属性设为true启动重定向,将destination设为https的URL即可自动跳转到目标地址,这样就可以实现只有该系统页面自动跳转到https协议的要求了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IIS7 IIS8 http自动跳转到HTTPS(80端口跳转443端口) - Python技术站