专栏首页lestat's blogcertbot+letsencrypt配置免费单证书多域名ssl证书

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 条评论
登录 后参与评论

相关文章

  • Openresty学习笔记(一)

    由于近期工作中所负责的项目是开发App和一个前后端分离的管理系统的数据接口(统一采用jwt作为身份认证方式),且第一期已经接近尾声,因此除了做一些php代码层面...

    lestat
  • webview调用小程序支付流程

    最近在做一个叫资源树的小型商城项目,其中有一个场景需要在小程序中嵌入的web-view内向小程序发起支付请求完成支付,折腾了一天,在网上各种经验的帮助下总算搞定...

    lestat
  • gitlab出现forbidden的解决方法

    lestat
  • 深入理解HTTPS及在iOS系统中适配HTTPS类型网络请求(上)

        本篇博客主要讨论如何在客户端与服务端之间进行HTTPS网络传输,为了深入理解网络传输的基础原理,更加灵活的校验证书,博客的前半部分也将介绍一些HTTPS...

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

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

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

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

    心语花束
  • nginx防盗链、访问控制、PHP解析、服务器代理

    说明: “location ~* ^.+”在此0“ * ”的作用是后面匹配的内容不区分大小写。

    阿dai学长
  • Web安全之BurpSuite抓取HTTPS请求

    https://portswigger.net/burp/help/proxy_options_installingCAcert.html

    Jetpropelledsnake21
  • 手把手教你用 Keras 实现 LSTM 预测英语单词发音

    我近期在研究一个 NLP 项目,根据项目的要求,需要能够通过设计算法和模型处理单词的音节 (Syllables),并对那些没有在词典中出现的单词找到其在词典中对...

    AI研习社
  • git clone远程仓库的指定分支

    在本地创建该分支的文件夹,且只包含该远程仓库的该分支下所有文件,其他分支文件不会包含

    小菠萝测试笔记

扫码关注云+社区

领取腾讯云代金券