配置HTTPS--使用阿里云免费证书

0x00、说明&流程

说明

  1. 域名需要在阿里云并购买备案
  2. 每个证书仅限一个域名使用。(比如a.lesteryou.cn和b.lesteryou.cn是两个域名)

流程

流程为 购买证书 补全信息&提交审核 下载证书&配置nginx


0x01 购买证书

打开阿里云证书服务页面,
品牌: Symantec
保护类型: 1个域名
证书类型: 免费型DV SSL,
请输入图片描述

然后点击 立即购买,按照提示下一步即可。
点击进入证书控制台.

0x02 补全信息&

首先,按照提示输入绑定的域名,然后补全信息,进行域名授权验证。

请输入图片描述

按照信息提交之后等待审核,审核通过后需要颁发证书,按照提示就可以完成。
(最好选择 系统生成CSR,就不用自己生成了。)

0x03 下载证书&配置nginx

系统生成的证书,是两个文件,一个是证书私钥文件(xxxx.key)和证书文件(xxxx.pem).
把这两个文件上传到服务器上某一位置,然后打开nginx中该网站对应的conf文件。
添加如下代码

    ssl on;

    ssl_certificate   /filepath/xxxx.pem;
    ssl_certificate_key  /filepath/xxxx.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;

同时,把监听的端口改为(默认为443)

listen 443;

至此,一个https网站就升级完成了。但是一般来说,为了对用户友好,一般都会把http自动跳转到https,我们可以添加一个该域名对应http的配置。

server {
    listen 80;
    server_name blog.lesteryou.cn;

    #access_log  /usr/local/nginx/logs/8080-access.log main;
    #error_log  /usr/local/nginx/logs/8080-error.log;

    return      301 https://$server_name$request_uri;      #这是nginx最新支持的写法

    location ~ / {
        root /var/www/html/8080;
        index index.html index.php index.htm;
    }
}

这样的话,就可以完美的实现http无缝升级https了。

HTTPS服务器

我来吐槽

*

*