使用certbot工具制作免费https证书

进入certbot官网,根据自己使用的服务器和操作系统进行选择,如图:

选择完成后,下方会出现配置教程。

安装

此部分按照官方教程操作即可,但是在centos7中使用yum安装的时候会出现提示找不到需要安装的包,这时需要安装EPEL软件源,因为certbot包包含在EPEL软件源中, 代码如下:

安装完EPEL软件源按照官方教程继续即可

配置nginx

获取证书

第一种方法:根据教程提示,运行如下代码:第二种方法:使用自动部署脚本:

自动更新证书

certbot使用的是Let's Encrypt证书,虽然是免费的,但是90天就会过期,certbot官网上也提示了需要一个定时的脚本进行证书的自动更新,certbot-auto脚本带有自动更新证书功能,运行如下代码即可:

遇到的问题

运行完这行获取证书的代码后,命令行报了一下错误:

说是443有多个监听,然后使用:

查看443端口的程序,发现有两个进程在监听443端口,然后果断kill了一个,只剩下了一个nginx的进程,重新运行获取证书的代码,还是报同样的错,于是各种查,发觉可能是nginx的配置文件有问题,然后回去检查nginx的配置,发现nginx配置文件中listen 443中没有加'ssl',加上后再运行获取证书的代码即可

nginx使用docker容器

如果nginx使用docker容器,需要如下启动nginx容器:

说明:

-p 将容器的80和443端口映射到宿主机的80和443端口上

-v 将容器中nginx和证书保存的目录路径挂载到宿主机的指定目录下 其他比较常用,但是以防遗忘,在这记一下吧,

-i 用于控制台交互

-t 分配tty,该可以支持终端登录

-d 后台运行

--name 给容器起个名

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G0XP9800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券