首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 Certbot 配置 HTTPS,让你的网站不再裸奔

使用 Certbot 配置 HTTPS,让你的网站不再裸奔

作者头像
周萝卜
发布2019-07-23 10:35:58
1.1K0
发布2019-07-23 10:35:58
举报
文章被收录于专栏:萝卜大杂烩萝卜大杂烩

Certbot

不错,今天的主角就是给力的 Certbot,免费好用,真是我等 diaosi 的一大福音。

我们先打开其官网,整体浏览下

https://certbot.eff.org/lets-encrypt/centos6-nginx

我们可以看到,想使用 Certbot,需要一些条件

  1. 需要一个命令行服务器,一般就是 linux了。我这里使用的是 CentOS6。
  2. 我们需要已经部署了一个 http 服务,80 端口是监听状态的,我使用的是 Nginx 代理。
  3. 有执行 root 权限的用户。

具体安装

在使用官网上的安装步骤前,我们要先有 Nginx,并且已经成功启动,当然也要有绑定了公网 IP 的域名,因为 SSL 证书都是要绑定到具体域名的。 公网 IP,域名申请,Nginx 安装等,就不说啦,我们现在来看一下我这里 Nginx 的简单配置。

server {
    listen       443;
    server_name  www.kungfuworld.top;
    ssl on;
    root        /home/KungFuWorld/      ;
    access_log  /home/log/access.log;
    error_log   /home/log/error.log;
    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;
    location / {
        proxy_pass       http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        index  index.html index.htm;
    }
}
server {
    listen 80;
    server_name kungfuworld.top;
    rewrite ^(.*)$ https://$host$1 permanent;
    }

我配置的域名是 www.kungfuworld.top,后面在执行 Certbot 安装时,会自动扫描到这里配置的域名,从而根据这个域名来生成证书。 下面,就是一步步的按照官网的步骤来操作就好了

安装 Certbot

wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto

生成证书

sudo /usr/local/bin/certbot-auto certonly --nginx

中间会有一些需要用户交互的步骤,按照提示操作就好

配置 Nginx

    ssl_certificate /etc/letsencrypt/live/kungfuworld.top/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/kungfuworld.top/privkey.pem;

在刚刚的 Nginx 配置文件中,增加上面的两条配置,就完成了证书的配置。

如果不出意外,该域名的 HTTPS 就可以访问了,而且是浏览器信任的证书。

自动更新

使用 Certbot 安装的证书,只有 90 天的有效期,还好其提供了方便的自动更新功能

/usr/local/bin/certbot-auto renew

我们可以创建一个 crontab 任务,来自动更新

0 4 */80 * * /usr/local/bin/certbot-auto renew &>> /dev/null

每隔 80 天在凌晨 4 点执行一次 renew 操作

至此,基于 Certbot 的 HTTPS 配置就完成了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萝卜大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Certbot
  • 具体安装
  • 安装 Certbot
  • 生成证书
  • 配置 Nginx
  • 自动更新
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档