网站如何从http升级成https

基本概念:

HTTP: 是互联网上应用最为普遍的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它能够使浏览器更加高效,使网络传输减小。html

 

HTTPS: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,所以加密的详细内容就须要SSL。apache

 

不少用户目前对HTTPS持观望态度,固然网站升级HTTPS有利有弊,利固然是安全系数提高,下降劫持风险,弊端主要体如今速度上,因为证书验证、屡次握手、CPU消耗等缘由,https页面速度会被拖慢一点。浏览器

谷歌、火狐等浏览器厂商也已经扛起HTTPS大旗,对于HTTP站点会提示不安全警告。并且像谷歌、百度等搜索引擎也早已相应HTTPS号召,都声称对HTTPS站点页面友好甚至优先抓取,排名靠前,固然具体实际实施状况就另当别论了,目前来看,谷歌作的要比百度更成熟一些。安全

 

要让互联网站点都升级到HTTPS协议还需一段时间,但不能否认HTTPS是大势所趋。因此本文咱们一块儿来了解下如何将网站升级到HTTPS协议。服务器

1.购买、下载SSL证书

SSL证书有付费也有免费的,固然价格其实并不很高。以前我有整理过国内外几家知名的SSL商家,可供你们参考(http://blog.cnezsoft.com/blog/ssl-80138.html)。网络

2.备份,备份,备份

这是极其重要且必须的一步。即使你自认为技术深厚,对服务器熟悉也不要忽视升级前作好网站备份。网站

3.安装证书

不一样厂家或都提供了相应的安装证书的解决方案,流程大同小异。这里我以避免费SSL证书为例,在LAMP环境下给你们介绍如何安装证书。ui

打开apache的配置文件httpd.conf,找到搜索引擎

#LoadModule ssl_module modules/mod_ssl.so加密

#Include conf/extra/httpd-ssl.conf

删除行首的配置语句注释符号“#”

保存退出。

 

打开apache安装目录下conf/extra目录中的httpd-ssl.conf文件

在配置文件中查找如下配置语句

SSLCertificateFile conf/ssl.crt/server.crt 将服务器证书配置到该路径下

SSLCertificateKeyFile conf/ssl.key/server.key 将服务器证书私钥配置到该路径下

#SSLCertificateChainFile conf/ssl.crt/ca.crt 删除行首的“#”号注释符,并将中级CA证书 ca.crt配置到该路径下。

 

添加SSL 协议支持语句,关闭不安全的协议和加密套件:

SSLProtocol all -SSLv2 -SSLv3

 

修改加密套件以下:

SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;

保存退出,并重启Apache。检查HTTPS页面可否成功访问。

4.301重定向

考虑到SEO影响,须将以前的HTTP页面转为HTTPS。咱们修改配置文件便可,这里我仍是以LAMP环境为例,在.htaccess文件中加下面代码便可:

 

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

总结:

本文向你们介绍了网站升级HTTPS时必要流程,具体细节或因服务器环境不一样和SSL证书商家不一样而存在一些差别,但整体大同小异。如过你们在网站升级HTTPS过程当中遇到疑难困惑或有成功经验,欢迎一块儿分享交流。

资料来源:https://blog.csdn.net/chanzhi2016/article/details/71706197