主业iOS/PHP,副业啥都玩,QQ:705719110,欢迎来撩!

使用letsencrypt证书实现https

Linux系统 随风 238℃ 0评论

今天介绍一下配置服务器的https,我这里使用的是letsencrypt的证书,letsencrypt的证书是服务端直接生成的,所以要使用命令行工具Certbot来配置,我是用的是CentOS和nginx,可以去官网查看安装命令 https://certbot.eff.org/。
我的安装命令

直接来获取证书

这个命令会为 duicode.com 和 www.duicode.com 这两个域名生成一个证书,使用 –webroot 模式会在 /var/www/duicode 中创建 .well-known 文件夹,这个文件夹里面包含了一些验证文件,certbot 会通过访问 duicode.com/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器。这个命令在大多数情况下都可以满足需求,但是有些时候我们的一些服务并没有根目录,这时候使用 –webroot 就走不通了。certbot 还有另外一种模式 –standalone , 这种模式不需要指定网站根目录,他会自动启用服务器的443端口,来验证域名的归属。我们有其他服务(例如nginx)占用了443端口,就必须先停止这些服务,在证书生成完毕后,再启用。

证书生成完毕后,我们可以在 /etc/letsencrypt/live/ 目录下看到对应域名的文件夹
然后就可以配置证书了,修改nginx的配置文件,主要是监听 443 端口,启用 SSL,并配置 SSL 的证书路径(公钥,私钥的路径)

Let’s Encrypt 提供的证书只有90天的有效期,我们必须在证书到期之前,重新获取这些证书。

然而可能会报错,因为我们使用的是 standalone 模式,所以要关闭nginx才行,我这里做了个定时任务 certbot-auto-renew

–pre-hook 这个参数表示执行更新操作之前要做的事情。
–post-hook 这个参数表示执行更新操作完成后要做的事情。

启动这个定时任务

这样就OK了。

转载请注明:怼码人生 » 使用letsencrypt证书实现https

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

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