如何将网站HTTP升级为HTTPS

前端技术 2017/10/09 网络安全

基本概念:


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


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


很多用户目前对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环境下给大家介绍如何安装证书。


打开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

修改加密套件如下:

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

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


4.301重定向


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

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


总结:


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


本文地址:https://www.stayed.cn/item/35

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。