在当下的web服务业务中,非常流行使用SSL网站证书,很多浏览器也开启了对http头的识别,从而进行提示网站数据通讯是否安全,在过去的http协议数据传输中,有非常多的不安全因素,还有可能发生域名劫持等事件,所以我们对网站开启SSL支持也是势在必行了,今天我们就以win2008为例,为大家讲解如何在win2008系统+IIS7.5中安装我们的SSL证书,过程非常简单方便。
1、首先我们要先去为域名申请SSL证书,可以申请SSL证书的地方非常多,服务商也很多,价格各有不同,我们可以根据自己的需求,选择需要申请的SSL证书,免费的SSL证书也可以申请到的。
2、申请好了域名证书,我们直接下载已经申请好的域名证书,建议备注名字修改一下,以便以后好识别,存放到本地和服务器上,我们要备份好这个域名证书,以后如果服务器出现问题,需要重新安装证书的时候,还用的到。
3、把下载好的域名证书上传到香港服务器上,远程登录到我们的服务器上,解压证书,找到IIS目录下的安装文件,因为我们是使用的iis,所有这里我们只选择IIS中的证书安装文件,如图所示:
4、我们打开pfx-password的文本文件,复制一下里面的密码,因为等会安装证书需要用到,然后双击.pfx的证书文件,一直下一步,直到完成,证书就导入完成了。
5、然后我们需要在IIS上导入证书,打开IIS管理器,选中IIS根目录,找到右边的服务器证书,如图所示:
点击服务器证书,双击打开,点击右边的导入证书,在路径中选中我们刚才上传到服务器的上的证书,一直下一步,输入证书密码,导入成功。
6、接下来是最后一步,把ssl证书绑定到域名上,我们选中需要绑定SSL证书的站点,在右边选择绑定,在弹出窗口中选择添加,注意这个地方,类型一定要选择https类型,然后在下面的SSL的下拉菜单中,选择我们对应的证书,然后点确定,如图所示:
7、绑定好证书以后,其他地方都不需要调整,包括IIS中的SSL设置,默认即可,这个时候如果我们需要http请求301跳转到https,有很多方法可以实现,比如js脚本判断等,但是最简单的方法就是使用iis上的URL重写,就是伪静态的意思,直接编辑网站根目录下的web.config文件,没有这个文件的话自己新建一个,打开该文件,添加自动跳转代码,如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
添加好以后,我们重启下网站,即可生效,现在访问网站就可以看到https的头部了,直接访问http也会自动跳转到https,如果已经有配置文件的,并且文件里面有其他规则的,只需要提取标记中的内容,添加到我们的配置文件中即可,请注意格式,格式出错会引起网站故障。
到这里我们香港服务器添加SSL证书就完成了,但是这里有一个问题,很多教程都没有说到的地方,就是如果有多个证书,多个域名需要添加的时候,总是失败怎么办,原因其实很简单,是因为您添加了一个证书,该域名解析的IP已经使用了443证书通讯端口,所有您在添加第二个的证书的时候会提示您已经绑定了一个证书,导致失败,这个地方我们可以使用不同的IP来绑定不同网站,就可以添加成功了,意思就是一个IP对应一个网站进行添加即可。