申请 SSL 证书 --Nginx 配置Https

细心的读者已经发现博主的博客已经变为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
  1. 点击右上方购买证书,选择 免费型DV SSL -> 购买 -> 进入证书列表页 -> 点击刚才购买的证书后面的 补全 -> 填写域名信息 -> 提交
CD8A94BF-EE0E-43D0-905A-04C40A1969EE.png
> 这里为了快速审核建议使用文件验证域名所有权
> 提交之后等待审核通过(一般工作时间俩个小时,如果长时间没过可以提交个工单催一催,一会就过了,博主就是这样做的)
> 具体参照每一步操作的帮助提示
  1. 审核通过后如下图所示,点击下载,将证书下载下来并传到服务器上,具体操作流程官方写的很详细,这里不做介绍。

    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;"

     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;
             }
     
     }
    
  4. 修改完成之后别忘了加软连接

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

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

34BFB541-63BE-48FC-AB75-B1643A8D0A47.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容