certbot+letsencrypt配置免费单证书多域名ssl证书

前些天看到微信公众平台官方公告关于公众平台接口不再支持HTTP方式调用的公告之后决定把项目的协议从http改成https,于是开始在网上查,完成之后总结了一点经验

本文演示的是通用证书,即在certbot命令中不需要指定--apache或者--nginx之类,只需要在完成证书生成之后在服务器配置文件里进行引用即可

Let’s Encrypt

Let’s Encrypt 认证签发为每3个月一次,也就是每 90 天必须更新(renew)一次。取得认证的过程需要进主机安裝代理程序:certbot,下面以ubuntu为例:

  • 安装 1 2 3 4 5$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install certbot
  • 生成证书 1$ sudo certbot certonly

此时会出现选项,按照提示选择即可

  • 证书自动续期可以使用1certbot renew --force-renew

手动强制为证书续期 如果出现以下提示则说明更新成功

1

Congratulations, all renewals succeeded. The following certs have been renewed:

但为了更方便,通常使用crontab -e编辑定时任务,并加入

1

0 0 1 * * certbot renew --force-renew “重启服务器命令”

实现每个月1号0点自动续期

在服务器配置相关证书

apache2开启SSL

tips: 如果有多个域名

  1. 可以用过在Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel):步骤通过,来分隔域名
  2. 可以使用以下命令来直接生成多个域名的证书 1$ sudo certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is
  3. 生成的证书通常保存在/etc/letsencrypt/live/目录下

注意:如果失败超过5次会被服务器屏蔽1小时

后记

以上操作完成后在pc端浏览器可正常读取证书并显示绿色锁,但在部分移动端浏览器上可能提示证书无效,原因可以参考合并SSL服务器证书和CA包(证书链文件) 简单来说,可以通过合并SSL服务器证书和CA包(证书链文件) 即:复制fullchain.pem里的内容至cert.pem,重启服务器即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术之路

关闭Outlook时最小化 dll

用Outlook时最让我感觉不爽的就是不小心点了关闭按钮就会把Outlook关闭。 我们用软件的时候都希望软件有一个关闭时最小化功能,更希望Outlook也有这...

1975
来自专栏云计算教程系列

如何使用CentOS 7上的Let's Encrypt来保护Nginx

Let's Encrypt是一个新的证书颁发机构(CA),它提供了一种获取和安装免费TLS / SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。...

1170
来自专栏程序猿

Burp Suite教程: 第五节 Proxy监听设置

当我们启动Burp Suite时,默认会监听本地回路地址的8080端口,除此之外,我们也可以在默认监听的基础上,根据我们自己的需求,对监听端口和...

54315
来自专栏云计算教程系列

如何在Ubuntu上使用SSL来保护Nginx

腾讯云SSL是腾讯云的证书颁发服务,SSL证书(SSL Certificates)提供了安全套接层(SSL)证书的一站式服务,包括证书申请、管理及部署功能,与顶...

4152
来自专栏云计算教程系列

加固你的Roundcube服务器

Roundcube是一个Webmail客户端,具有强大的安全功能和来自其插件存储库的广泛自定义选项。本文介绍如何进一步保护基本的现有Roundcube安装。

2510
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Let's Encrypt来保护Nginx

Let's Encrypt是一个新的证书颁发机构(CA),它提供了一种获取和安装免费TLS / SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。...

790
来自专栏Python自动化测试

Postman插件的应用与实战(二)

在postman插件的应用与实战(一)中,介绍了postman插件的安装,使用,collestion的创建以及应用,本小节中,我们来介绍postman结合new...

1135
来自专栏游戏杂谈

Flash Builder无法正常启动应用程序的原因

去掉编译器参数就可以了, 因为Flash Builer默认使用的是SDK 4.0,而目前开发中只需要使用3.5就可以了,加那个参数

1581
来自专栏云计算教程系列

如何使用Debian 9上的Let加密保护Apache

我们的加密是一个证书颁发机构(CA),它提供了一种获取和安装免费TLS / SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。它通过提供软件客户端...

1274
来自专栏蓝天

Ssh,scp自动登陆方法

Ssh,scp自动登陆方法 ########################### A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机...

993

扫码关注云+社区