最近总有用户问:“为什么安装了SSL证书的网站仍显示不安全,需要在http后手动加小s才能正常访问呢?”这个问题的原因在于未对部署了SSL证书的网站设置HTTPS访问定向。解决方法很简单:只需要将HTTP访问301永久重定向到HTTPS即可。

o1.jpg

设置HTTP重定向到HTTPS协议

下面,将以dns666.com域名为例讲解如何设置HTTP重定向到HTTPS协议。

注意:将所有内部和外部链接更新为 HTTPS URL。内部链接包括导航/菜单链接、图像、CSS 引用等。如果网站在内部仍然引用 HTTP 文件,它将中断。确保将所有外部链接和本地目录列表更改为指向新的 HTTPS 网站。

此外,还需将HTTPS协议访问的https://dns666.com 不带 www 的请求,也设置为301 永久重定向到带 www 的主网址 https://www.dns666.com。最终效果如下:

请求                                     端口          HTTP重定向        目标

http://www.dns666.com     80             永久(301)        https://www.dns666.com

http://dns666.com              80             永久(301)        https://www.dns666.com

https://dns666.com            443            永久(301)        https://www.dns666.com

为了网站 SEO 和 搜索引擎更加友好,对已经收录的网址,类似这样的http://yourdomain/ssl的网址,要带网址参数重定向,效果类似这样https://yourdomain/ssl,而不是重定向到首页。

接下来,我们以IIS服务器为例开始HTTP 301永久重定向到HTTPS的配置。

1.  在IIS 服务器中添加网站,保证网站能正常响应请求,点击鼠标右键,选择“编辑绑定”,添加网站绑定。

o2.jpg

2. 点击左侧选中网站,在右侧选择“HTTP重定向”双击。

o3.jpg

3. 设置“HTTP重定向”。勾选“将请求重定向到此目标”,并填写目标地址。勾选“将所有请求重定向到确切的目标(而不是相对于目标)”。状态代码选择“永久(301)”。最后保存。

o4.jpg

注意:目标地址后面的【$S$Q】表示的是IIS 重定向的参数。加上【$S$Q】参数,将重定向到指定地址+请求的URL的后缀+URL中的参数,其目的就是为了更好地提高网站HTTPS排名。

4. 通过上面的IIS 设置,您的网站目录下就多了一个 web.config 配置文件,配置内容如下:

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

<configuration>

   <system.webServer>

        <httpRedirect enabled="true" destination="https://www.dns666.com$S$Q" exactDestination="true" httpResponseStatus="Permanent" />

   </system.webServer>

</configuration>

当然,您也可以选择直接在web.config配置文件中去设置301永久重定向。IIS 10 会默认加载网站根目录的 web.config 配置文件,假如您设置 IIS 10 默认不加载,那还需上面的 IIS 设置。

通过以上配置,访问HTTP的URL的时候就不再需要手动添加小s,而是会自动跳转到HTTPS协议上了。