【SSL】Let‘s Encrypt的SSL证书配置

写在前面:

Let’s Encrypt 是电子前哨基金会(EFF)发布的免费 SSL 证书服务,Google,Mozilla 和 Microsoft 都极力支持。很早之前就听说了 Let’s encrypt,当时碍于其证书有效期短,并且配置麻烦,遂懒得折腾。最近发现他们的网站发布了工具和一系列自动化的工作流配置。尝试了一下,还蛮不错。

如果你的域名是在 阿里云 买的,那么恭喜你可以直接在 阿里云 申请免费的SSL证书,前段时间写过一篇可参考:【Nginx】域名添加 HTTPS 证书

环境准备:

  • Ubuntu 16.04
  • Nginx
  • 域名: zhaoshuai.me

安装 Certbot:

【SSL】Let‘s Encrypt的SSL证书配置

Certbot 专门用来部署 Let’s Encrypt 的工具,其官网会根据使用的web服务器软件和操作系统平台,提供响应的安装工具和安装方法。

我这里选择了 NginxUbuntu16.04 的组合。会看到网站跳转到一个简易的使用文档。使用下面的命令安装即可:

生成 SSL 证书:

我们可以看一下 certbot 的配置选项:

【SSL】Let‘s Encrypt的SSL证书配置

在这里我们使用 –nginx 这个配置选项, 因为我们上面安装了 python-certbot-nginx 小工具。

如果这是您第一次运行 certbot,系统将提示您输入电子邮件地址并同意服务条款。执行此操作后,certbot 将与 Let’s Encrypt 的加密服务器通信,然后运行质询以验证您是否控制了您要为其申请证书的域。

如果成功,certbot 将询问您要如何配置HTTPS设置:

  • 选择【1】是不做重定向,通过 HTTP 和 HTTPS 都可以访问;
  • 选择【2】是将所有请求重定向到 HTTPS

我是选择 【2】,这样可以帮我们生成 Nginx 的配置文件,点击 ENTER ,会有成功提示,并说明证书放在 /etc/letsencrypt/live/**** 这里。

然后我们打开 Nginx 配置:

将请求打到我们自己的项目中去,具体参考:

记得重启 Nginx ,这样可以生效配置。

验证Certbot自动续订

Let’s Encrypt 的证书只有 90 天有效。这是为了鼓励用户自动执行证书续订过程。我们安装的 certbot 软件包通过systemd 计时器每天运行两次 “certbot renew” 来为我们解决这个问题。在非系统发行版上,此功能由放置在 /etc/cron.d 的脚本提供。此任务每天运行两次,并将续订任何在到期后30天内的证书。

要测试更新过程,您可以用 certbot 执行以下操作:

如果您没有看到任何错误,那么您已经完成了设置。必要时,Certbot 将续订您的证书并重新加载Nginx以获取更改。如果自动续订过程失败,Let’s Encrypt 将向您指定的电子邮件发送一条消息,并在您的证书即将过期时发出警告。

写在最后:

推荐一个可以生成 Nginx 配置的网站:https://mozilla.github.io/server-side-tls/ssl-config-generator/

喜欢(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

博主在线

博主在线

  • 扫描二维码,微信联系 扫描二维码,微信联系