你当前的位置 首页 > 各类资讯 > 业界观点

如何把网站从 http 转换成 https

页面更新时间:2019-04-03   阅读数:1091

以下文章转自网络,作者谢羽

之前给大家介绍过什么是 http 和 https,以及他们之间有什么区别(详见:http和https有什么区别?网站有没有必要启用https?)。相信很多看过介绍的小伙伴,对http和https各自的优缺点应该有了一定的了解。今天,给大家介绍如何把网站从http转换成https站点。需要把网站转换成 https 访问形式的朋友,可以作为参考。

这里还是先简单的给大家介绍一下https的优点,不然,很多次听说 https 的小伙伴可能会疑惑我们的网站为什么要部署https。首先https是网络数据传输协议,也就是说www的网站在传输数据的时候,都必须遵守这个协议,遵守统一的标准的协议,有利于数据很好的传送,而https则可以理解为是http的升级版或者安全版本。

https的有点如下:

1、部署https的网站更安全。

http是明文传送数据,不安全。也就是说,在传送数据的时候是明文的,没有经过加密,如果黑客一旦截获了这种明文数据,用户的隐私就很有可能暴露,如:账号、密码等。而https在传送数据的时候会对数据进行加密,就算黑客截获了数据也是加密后的数据。如果黑客通过技术进行破解,会花费更多的时间和技术成本。因此,https加密数据可以大大降低用户隐私泄露的风险,增加数据传输的安全性。

2、https可以降低网站被劫持、被镜像的风险。

http网站是无状态的,在传送数据的时候也没有对数据进行任何形式的加密,更不会对客户端和服务器进行反复的验证。这样在传送数据的时候,很可能被黑客利用,通过域名劫持等技术手段返回虚假的网站或数据给客户端。造成用户隐私泄露或财产损失。

而https采用了SSL安全机制进行通信,以数字证书为基础,在数据传送的过程会对客户端和浏览器进行反复的验证,确保通过域名可以访问到你想要访问的那台服务器,从而大大减少网站被劫持、被镜像的风险。https原理如下:客户端访问服务器->服务器把数字证书+公用密匙 发给客户端->客户端验证服务器,确保访问的是正确的服务器(不是钓鱼网站)->客户端生产会话密匙并用公用密匙进行加密再次发给服务器->服务器用私人密匙进行解密(也就相当于验证客户端),验证建立起一条安全的数据传递通道->服务器把客户端请求的数据打包加密发送给客户端->客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

服务器把数字证书+公用密匙 发给客户端->客户端验证服务器,确保访问的是正确的服务器(不是钓鱼网站)->客户端生产会话密匙并用公用密匙进行加密再次发给服务器->服务器用私人密匙进行解密(也就相当于验证客户端),验证建立起一条安全的数据传递通道->服务器把客户端请求的数据打包加密发送给客户端->客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

客户端验证服务器,确保访问的是正确的服务器(不是钓鱼网站)->客户端生产会话密匙并用公用密匙进行加密再次发给服务器->服务器用私人密匙进行解密(也就相当于验证客户端),验证建立起一条安全的数据传递通道->服务器把客户端请求的数据打包加密发送给客户端->客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

客户端生产会话密匙并用公用密匙进行加密再次发给服务器->服务器用私人密匙进行解密(也就相当于验证客户端),验证建立起一条安全的数据传递通道->服务器把客户端请求的数据打包加密发送给客户端->客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

服务器用私人密匙进行解密(也就相当于验证客户端),验证建立起一条安全的数据传递通道->服务器把客户端请求的数据打包加密发送给客户端->客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

服务器把客户端请求的数据打包加密发送给客户端->客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

客户端浏览器接收数据并解析。如果客户端再次请求数据,则重复上述步骤。这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

3、部署https可以提高用户体验。

https部署的网站,在浏览器的访问地址栏会显示一个带有安全标识的一个绿色的小锁,这样可以提高用户对这个网站的信任度及用户体验。

我们该如何部署https?

1、申请SSL证书。

(广告:SSL证书选购助手 https://www.sslzhengshu.com/guide/index.html)

https是以SSL证书为基础,网站要想部署https,就必须为网站服务器申请一个SSL证书。这里提醒大家一下,有的服务器支持SSL证书,有的则不支持。部分虚机目前可能不支持SSL证书的部署。

申请SSL证书的步骤如下:

①CSR文件制作:申请SSL证书之前,需要制作CSR文件,CSR,Certificate Signing Request,是制作SSL 证书的必要步骤。一个 CSR 文件中描述了 SSL 证书持有人的信息(如个人姓名或公司名称)、联系地址等,用于验证 SSL 证书和域名是同一个人持有,以确保网站的合法性。制作完成后向 SSL 证书提供商上传这个文件,以获得终的 SSL 证书。

②CA认证证书申请:将CSR提交给CA,CA一般有2种认证方式:

1)域名认证:一般通过对管理员邮箱认证的方式,这种方式认证速度快,但是签发的证书中没有企业的名称;

2)企业文档认证:需要提供企业的营业执照。

也有需要同时认证以上2种方式的证书,叫EV ssl证书,这种证书可以使IE7以上的浏览器地址栏变成绿色,所以认证也严格。

2、安装证书。

在收到CA的证书后,可以将证书部署上服务器,一般APACHE文件直接将KEY+CER复制到文件上,然后修改httpD.CONF文件;TOMCAT等,需要将CA签发的证书CER文件导入JKS文件后,复制上服务器,然后修改SERVER.XML;IIS需要处理挂起的请求,将CER文件导入。这里不会的小伙伴,可以询问你们的技术,让技术人员提供技术支持。

3、整改网站链接

SSL证书安装后,你的服务器就支持https了。这时我们要把自己网站上的全部链接修改成https的形式。例如,之前我们的首页链接是:http://www.***.com/,则需要修改成 https://www.***.com/的形式。记着,是网站上的全部链接都需要修改,不要漏了。

4、全站做301转向

网站链接整改以后,要做全站301跳转。这样可以大大减少网站权重的流失,让百度更快、很好的抓取新的链接来替换旧的链接,同时让新链接更快的恢复权重与排名。具体的301全站跳转如何实现,大家可以自己百度一下,网上一大堆。实在不会的,可以问问你们的技术。

5、告诉百度抓取新连接替换旧链接。

理论上我们修改过链接后,百度蜘蛛会自动抓取识别新的链接形式,用于替换旧的链接。但是,这样可能会延长周期。我们可以使用百度搜索资源平台提供的https认证功能进行认证,让百度很好的抓取、展现我们的https页面。

谢羽点评:https确实在安全性方面有了大大的提高,可以较大的减少网站被劫持、被镜像的风险。在数据传送方面,也会对数据进行加密传输,这些都是https性能的很好性。但是,目前还有很大一部分站长都在持观望态度,主要是因为:部署https有技术门槛,也会加大运营成本,在兼容性方面很多小功能、插件目前还不支持https。

我们谢羽SEO这个网站在写这篇文章的时候,还没有正式让百度抓取,本想等启用了https以后才让百度正式抓取,后来询问工程师才知道目前的云虚机暂不支持https,也就只能作罢。以上是对如何把网站从http转换成https?相关介绍,希望对大家能够有帮助。

作者:谢羽