共计 1515 个字符,预计需要花费 4 分钟才能阅读完成。
基本概念:
HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS: 是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版。即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
很多用户目前对 HTTPS 持观望态度,当然网站升级 HTTPS 有利有弊,利当然是安全系数提升,降低劫持风险,弊端主要体现在速度上,由于证书验证、多次握手、CPU 消耗等原因,https 页面速度会被拖慢一点。
谷歌、火狐等浏览器厂商也已经扛起 HTTPS 大旗,对于 HTTP 站点会提示不安全警告。而且像谷歌、百度等搜索引擎也早已相应 HTTPS 号召,都声称对 HTTPS 站点页面友好甚至优先抓取,排名靠前,当然具体实际实施情况就另当别论了,目前来看,谷歌做的要比百度更成熟一些。
要让互联网站点都升级到 HTTPS 协议还需一段时间,但不可否认 HTTPS 是大势所趋。所以本文我们一起来了解下如何将网站升级到 HTTPS 协议。
1. 购买、下载 SSL 证书
SSL 证书有付费也有免费的,当然价格其实并不很高。
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
修改加密套件如下:
SSLCipherSuite 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 过程中遇到疑难困惑或有成功经验,欢迎一起分享交流。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143707.htm