前端折腾Ubuntu-配置ssl证书(七)

领取免费的证书

这里的证书用的是Let’s Encrypt证书,Let’s Encrypt是免费的,开源的,不过需要三个月续一次证书。官网:https://letsencrypt.osfipin.com/。 进入网站后注册账号,然后返回列表中,列表上方有申请新证书按钮点击申请。

然后返回列表中,查看详情。这个生成验证需要一定的时间,之后需要验证这个域名是否是你拥有的,就是在阿里云域名中配置TXT。具体的操作Let’s Encrypt网站每一步都有详细的说明,包括nginx配置。

安装证书

在远程服务器创建证书存放的文件夹

cd /etc/nginx
sudo mkdir path

修改新创建文件夹path的权限为sudo chmod 777 path

从Let’s Encrypt网站下载证书到本地windows电脑中,然后解压文件。进入解压过后的文件夹中执行下面的命令

scp -P 39999 path/fullchain.crt root_agent@111.111.111.111:/etc/nginx/path/
scp -P 39999 path/private.pem root_agent@111.111.111.111:/etc/nginx/path/

上面的命令是把本地windows电脑中的两个文件拷贝到远程服务器/etc/nginx/path/文件夹中

进入到远程服务器中查看证书

cd /etc/nginx/path
ls
# fullchain.crt  private.pem

查看文件已经存在,接着配置到nginx中,打开cllxx-cn-80.conf

sudo vim /etc/nginx/conf.d/cllxx-cn-80.conf

写入下面的代码

server {
    listen 80; #监听80端口
    listen 443 ssl http2; #监听443端口
    ssl on;
    server_name cllxx.cn www.cllxx.cn;

    # 网站开启gzip
    gzip on;
    gzip_comp_level 6;
    gzip_vary on;
    gzip_min_length  1000;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_buffers 16 8k;

    # 网站目录
    root /data/www/blog;
    index index.html;

    # http 转 https
    if ($server_port = 80 ) {
      return 301 https://$host$request_uri;
    }

    # 证书配置
    ssl_certificate path/fullchain.crt;
    ssl_certificate_key path/private.pem;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    location ~ .*\.(ico|gif|jpg|jpeg|png|bmp|swf)$ {
      access_log   off;
      expires      1d;
    }

    location ~ .*\.(js|css|txt|xml)?$ {
      access_log   off;
      expires      12h;
    }

    location / {
      try_files $uri $uri/ =404;
    }

    # 网站log存放的目录
    access_log  /data/wwwlogs/blog.log;
}

保存后老样子验证sudo nginx -t,没问题后重启nginxsudo service nginx restart

验证https

输入https查看是否成功,如果网站正常访问就成功了。


文章作者: jackie chen
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 jackie chen !
评论
 上一篇
git常用命令 git常用命令
git config --global user.name “你的名字” 让你全部的Git仓库绑定你的名字git config --global user.email “你的邮箱” 让你全部的Git仓库绑定你的邮箱git init 初始化你
2019-07-06
下一篇 
前端折腾Ubuntu-配置nginx(六) 前端折腾Ubuntu-配置nginx(六)
安装nginx和关闭版本号一般阿里云服务器会预装Apache,我们没有特别需要的话就删掉 sudo service apache2 stop sudo update-rc.d -f apache2 remove sudo apt-get r
2019-07-03
  目录