十二月 26, 2016

如何启用HTTPS加密网站流量

本站已启用HTTPS加密。

鉴于chrome将在v56版对非HTTPS网站进行显著标记,HTTP页面将逐步淘汰。为了更好的浏览体验,本站决定启用HTTPS(。

接下来我们讲讲如何启用免费HTTPS。

Ⅰ、选择一个SSL证书

SSL证书分为四个级别

Class 4 SSL证书:即EV SSL证书,顶级SSL证书,又称扩展验证型SSL证书。安全级别最高,验证审核最严格,网站部署EV SSL证书后,浏览器地址栏将变成绿色并显示企业名称。EV SSL证书一般应用于金融、银行、电商等安全需求较高的网站。

Class 3 SSL证书:即OV SSL证书,专业级SSL证书,又称机构验证型SSL证书。当前广泛应用的SSL证书,需要验证企业身份信息后颁发。OV SSL证书是当前最常见的证书类型,适用于行政、企业、科研、邮箱、论坛等各类大中型网站。

Class 2 SSL证书:即IV SSL证书,个人级SSL证书,沃通特有的SSL证书,又称个人验证型SSL证书。验证个人详细信息后颁发,主要应用于私人博客、自媒体等个人网站。

Class 1 SSL证书:即DV SSL证书,基础级SSL证书,又称域名验证型SSL证书。DV SSL证书是签发只验证域名所有权,快速颁发的SSL证书,安全级别较低。

相同点:所有SSL证书都具备SSL加密传输功能,都可通过https访问网站,在浏览器上显示安全锁标志;

不同点:验证主体、验证范围、验证材料和证书显示内容各不相同。

中小企业及个人用户一般使用 DV SSL证书就够了,此类证书有免费产品。

①Let's Encrypt,推荐使用,三个月一签; ②Symantec DV SSL, 腾讯云、阿里云用户推荐使用,一年一签。

Ⅱ、部署前的准备工作(Let's Encrypt)

按照Let's Encrypt官方要求,服务器或vps必须支持Python2.7以上版本以及支持GIT工具。以Centos 6为例,默认源不带git工具,所以我们在更换成epel源后使用yum命令安装git。Let's Encrypt需要用到80和443端口,所以你需要关闭那些占用这两个端口的应用并在iptables中进行放行动作。

要点:

Ⅲ、获取Let's Encrypt免费证书

准备工作完成后,我们使用如下命令获取证书

获取开源letsencrypt项目git clone https://github.com/letsencrypt/letsencrypt

进入项目目录 cd letsencrypt

请求证书,-d参数添加多个域名 ./letsencrypt-auto certonly --standalone --email admin@example.com -d example.com -d www.example.com

当出现如下信息时表示成功获取证书。 Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem.

Ⅳ、配置webserver(nginx)

修改webserver配置,以nginx为例在现在配置文件下添加新节点。

server{
listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } }