细心的读者已经发现博主的博客已经变为https,谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站。
苹果从 2017 年 iOS App 将强制使用 HTTPS;在国内热火朝天的小程序也要求必须使用 HTTPS 请求。同时,火狐等主流浏览器同样的响应了此号召。
SSL证书类型:
- 通常来说,SSL 证书分为三大类,他们的安全性是递增的,当然价格和安全系数成正比。
- DV (Domain Validation Certificate) DV证书适合个人网站使用
- CA 申请证书时,CA 只验证域名信息。几分钟之内就能签发。
- OV ( Organization Validation Certificate) OV 证书需要认证公司的信息。1-2天签发。
- EV ( Extended Validation Certificate) EV 证书的认证最为严格,一般会要求提供纸质材料。签发时间也较久。
国内申请SSL证书的渠道
- 目前免费申请渠道有两个,一个是国内有名的“云存储”平台 -- 七牛;另外一个就是阿里巴巴旗下的阿里云了。
下面进入正题
一、SSL证书申请
这里如果https域名是为了做资源cdn加速,那么推荐使用七牛,其他还是推荐使用阿里云。
在写博客之前一个月七牛申请的SSL证书在配置cdn加速时选择https并选择证书之后可以看到证书内容和密钥,可是现在不行了,只显示证书到期时间和证书绑定的域名,所以只能用在七牛的cdn加速域名配置上。
七牛和aliyun的证书申请流程基本一致,这里我们介绍aliyun的,七牛的如果不是配置七牛cdn加速不建议去弄。
- 进入aliyun控制台,选择安全下的证书服务,第一次申请证书则如下图:
- 点击右上方购买证书,选择 免费型DV SSL -> 购买 -> 进入证书列表页 -> 点击刚才购买的证书后面的 补全 -> 填写域名信息 -> 提交
> 这里为了快速审核建议使用文件验证域名所有权
> 提交之后等待审核通过(一般工作时间俩个小时,如果长时间没过可以提交个工单催一催,一会就过了,博主就是这样做的)
> 具体参照每一步操作的帮助提示
-
审核通过后如下图所示,点击下载,将证书下载下来并传到服务器上,具体操作流程官方写的很详细,这里不做介绍。
二、 配置nginx
将证书上传到"/cert"目录下
在nginx配置文件目录中(/etc/nginx/sites-available)中复制之前的站点出来并进行编辑,修改,如下:(官方也给了例子)
-
修改之前站点,将blog.guoq.xin重定向到https路径下,如下所示配置,仅需加一句:"return 301 https://blog.guoq.xin$request_uri;"
server { listen 443 ssl; root /var/www/blog; index index.php index.html index.htm; server_name blog.guoq.xin; # ssh配置 ssl on; ssl_certificate /cert/214178478140549.pem;#这里是你的上传的pem路径 ssl_certificate_key /cert/214178478140549.key;#这里是你上传的key路径 ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; location / { try_files $uri $uri/ /index.php?$query_string; } # php配置 location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
-
修改完成之后别忘了加软连接
cd /etc/nginx/sites-enabled ln -s /etc/nginx/sites-available/blog .
-
重启nginx
nginx -s reload
现在你的网站已经变成了https,当访问不是https路径时会跳转到https下。