细心的读者已经发现博主的博客已经变为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加速不建议去弄。

  1. 进入aliyun控制台,选择安全下的证书服务,第一次申请证书则如下图:

    61A76E96-8A0A-4976-A9FD-7A0A3D626954.png

  2. 点击右上方购买证书,选择 免费型DV SSL -> 购买 -> 进入证书列表页 -> 点击刚才购买的证书后面的 补全 -> 填写域名信息 -> 提交

    CD8A94BF-EE0E-43D0-905A-04C40A1969EE.png

    这里为了快速审核建议使用文件验证域名所有权
    提交之后等待审核通过(一般工作时间俩个小时,如果长时间没过可以提交个工单催一催,一会就过了,博主就是这样做的)
    具体参照每一步操作的帮助提示

  3. 审核通过后如下图所示,点击下载,将证书下载下来并传到服务器上,具体操作流程官方写的很详细,这里不做介绍。

    5ABCFFAC-5D97-45C1-B692-BCDE615B654F.png

二、 配置nginx

  1. 将证书上传到”/cert”目录下
  2. 在nginx配置文件目录中(/etc/nginx/sites-available)中复制之前的站点出来并进行编辑,修改,如下:(官方也给了例子)

  3. 修改之前站点,将blog.guoq.xin重定向到https路径下,如下所示配置,仅需加一句:”return 301 https://blog.guoq.xin$request_uri;”

    1. server {
    2. listen 443 ssl;
    3. root /var/www/blog;
    4. index index.php index.html index.htm;
    5. server_name blog.guoq.xin;
    6. # ssh配置
    7. ssl on;
    8. ssl_certificate /cert/214178478140549.pem;#这里是你的上传的pem路径
    9. ssl_certificate_key /cert/214178478140549.key;#这里是你上传的key路径
    10. ssl_session_timeout 5m;
    11. ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    12. ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    13. ssl_prefer_server_ciphers on;
    14. location / {
    15. try_files $uri $uri/ /index.php?$query_string;
    16. }
    17. # php配置
    18. location ~ \.php$ {
    19. fastcgi_split_path_info ^(.+\.php)(/.+)$;
    20. fastcgi_pass 127.0.0.1:9000;
    21. fastcgi_index index.php;
    22. include fastcgi_params;
    23. }
    24. }
  4. 修改完成之后别忘了加软连接

    1. cd /etc/nginx/sites-enabled
    2. ln -s /etc/nginx/sites-available/blog .
  5. 重启nginx

    1. nginx -s reload
  6. 现在你的网站已经变成了https,当访问不是https路径时会跳转到https下。

    34BFB541-63BE-48FC-AB75-B1643A8D0A47.png

  7. 在此特别感谢大丢哥的博客和支援与帮助,大丢哥博客地址:吕昌

您的支持是对我最大的鼓励!