随着国内搜索引擎巨头百度启用全站https加密服务,国内进入https加密时代。越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅探和劫持。谷歌方面作为推动网站https加密先驱,早在2010年5月便开始提供https加密搜索服务。谷歌在算法更新中则表示“同等条件下,使用https加密技术的站点在搜索排名上更具优势”。
HTTPS的特点:
1、优点
相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。
2、缺点
缺点也同样很明显,第一https的技术门槛较高,多数个人或者私人网站难以支撑,CA机构颁发的证书都是需要年费的,此外对接Https协议也需要额外的技术支持;其二,目前来说大多数网站并不关心数据的安全性和保密性,其https最大的优点对它来说并不适用;其三,https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度;第四,目前来说Http网站仍然大规模使用,在浏览器侧也没有特别大的差别,很多用户不关心的话根本不感知。
话不多说开始配置,我用的是阿里云服务器,首先打开阿里云控制台,直接搜索SSL
1.根据实际情况选择购买,本人搭建用于搭建个人网站就直接选择免费的
2.够买之后填写相关信息之后,等待审核,一般审核很快,审核成功之后,在SSL证书页面,单击已签发标签,定位到需要下载的证书并单击证书卡片右下角的下载。要根据自己的服务器类型选择下载,本人安装的是Nginx,下面主要讲nginx的配置,其他配置参考阿里云文档
3.在证书下载侧页面中定位到Nginx服务器,并单击右侧操作栏的下载,将Nginx服务器证书压缩包下载到本地。解压之后如下,有一个key文件和一个pem文件
4.登录您的Nginx服务器,在Nginx安装目录(默认Nginx安装目录为/usr/local/nginx/conf)下创建cert目录,并将下载的证书文件和密钥文件拷贝到cert目录中。
5.修改Nginx安装目录/conf/nginx.conf文件。
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name localhost; #将localhost修改为您证书绑定的域名,例如:www.example.com。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
6.保存之后并重启Nginx服务器。打开自己的网站,如下图配置成功。