443端口不知道是电信不想封还是怎么样,一直无需备案就能开启对外服务。而443端口就必须使用合法的 SSL 证书,合法的 SSL 证书很多,我一直在使用 letsencrypt 提供的SSL证书服务。但是 letsencrypt 的证书只有90天的有效期,必须在有效期内 renew,否则过期了只好重新申请了。申请 letsencrypt 证书网上一堆都是需要开放 80 端口才能申请,其实 CertBot 在以前就是支持 https 的方式申请证书。但是不知道什么原因放弃了. 现在另外一方法是用dns申请和更新. 我的域名是挂在dnspod下面的, 需要用到dnspod的接口去更新txt记录才能正常的更新证书.

安装certbot

centos 7

yum install epel-release

yum install certbot

ubuntu

可以先尝试执行sudo apt-get install certbot 看是否能安装. 如果提示找不到的话, 执行下面的命令后再尝试安装

sudo add-apt-repository -y ppa:certbot/certbot
sudo apt-get update

然后执行sudo apt-get install certbot

DNS认证

letsencrypt支持使用DNS认证的方式来获取证书,这种方式需要在DNS里面添加TXT记录来证明域名是你自己的。

这种方式只能使用certonly功能,因此安装时需要自己修改相应的服务器配置,无法让certbot帮忙修改。

只需要运行一下命令即可,

1
sudo certbot certonly --manual --preferred-challenge dns -d <你的域名>

然后首先会告知你会记录你的IP,选择Y,接着会出现一个提示,要你把_acme-challenge.<你的域名>设置成TXT记录,值也会写出来,设置好以后等待生效回车即可。

成功以后,就会告诉你证书路径,只需要替换掉服务器的配置里面的证书即可。

证书更新

使用dns申请的证书是没办法直接使用certbot renew来更新证书的. 幸亏 cerbot 提供了一个 manual-auth-hook hook,什么意思呢?可以编写一个脚本,由这个脚本来先完成 DNS 验证,然后再进行 renew。对应的脚本会自动添加 DNS 记录,从而完成 DNS 校验,并自动 renew 证书。写了个脚本进行更新au.sh, 代码如下:

echo "recode:"$CERTBOT_VALIDATIONcurl -k https://dnsapi.cn/Record.Modify -d "login_email=${ACCOUNT}&login_password=${PASSWORD}&domain_id=${DOMAIN_ID}&record_id=${REC_BBS}&sub_domain=_acme-challenge.${RECORD}&record_line=默认&record_type=TXT&value=$CERTBOT_VALIDATION"sleep 20

关于如何查询domain_id 和record_id

#获得域名id
#curl -k https://dnsapi.cn/Domain.List -d "login_email=${ACCOUNT}&login_password=${PASSWORD}"
#获得域名id下的记录列表
#curl -k https://dnsapi.cn/Record.List -d "login_email=${ACCOUNT}&login_password=${PASSWORD}&domain_id=${DOMAIN_ID}"

测试

certbot renew --manual-auth-hook /root/au.sh --dry-run

重要提醒:为避免遇到操作次数的限制,加入 dry-run 参数,能够避免操作限制,等执行无误后,再进行真实的renew 操作。

出现以上信息的时候就表示成功了.

然后加到crontab里面

30 0 * * 1 certbot renew --manual-auth-hook /root/au.sh

表示每周一凌晨0点30分会尝试更新证书.

感谢以下3位作者提供的参考:

https://www.orzorc.com/201807/get-cert-by-letsencrypt-dns-challenge/

https://www.jishux.com/p/6be2ce6781c16ee7

https://blog.neroxps.cn/2017/10/19/certbot-nginx-renew/

无80端口情况下使用 CertBot 申请SSL证书 并实现自动续期相关推荐

  1. acme云服务器生成证书_使用 acme.sh 申请 SSL 证书并且定期自动更新

    在我们的实际项目生产过程中往往需要为部署的服务和域名配置 SSL 证书,可以采用的方法有很多种,例如可以申请阿里云的免费 SSL 证书,或者也可以使用 CloudFlare 的 SSL 服务.本文介绍 ...

  2. 微信小程序页面搜索框查询(无后台接口情况下)

    微信小程序页面搜索框查询(无后台接口情况下) 效果图: wxml <view class="container"><view class="goodsl ...

  3. undo表空间文件丢失恢复(4)--无备份无recover的情况下恢复

    undo表空间的数据文件丢失,如果没有备份的情况下,而且丢失的undo文件可以置为offline状态后(注意是offline不是recover状态),则可以如下恢复,下边给出一个例子. undo表空间 ...

  4. 无屏幕有线情况下笔记本电脑连接树莓派

    无屏幕有线情况下笔记本电脑连接树莓派 获取树莓派ip 使用SSH远程登录树莓派 远程VNC桌面服务访问 首先我们需要将网线接入到树莓派中,如下: 获取树莓派ip 1. 假如有屏幕的话可以通过在树莓派L ...

  5. 无root权限情况下安装vim以及插件

    无root权限情况下安装vim以及插件 一.概述 二.vim安装 2.1 ncurses下载安装 2.2下载vim并安装 三. vim-plug插件管理 3.1 vim-plug插件下载 3.2 插件 ...

  6. 如何使用nexus3在无外网情况下(如云桌面)配置npm私库

    Nexus3配置npm私服有三个类型: host:本地存储,提供本地私服功能,可上传 proxy:提供代理其他仓库的类型 group: 组类型,组合多个仓库为一个地址,最终开发人员使用镜像源为该gro ...

  7. 如何在无网络的情况下给Dbeaver安装数据库驱动

    如何在无网络的情况下给Dbeaver安装数据库驱动 如何在无网络的情况下给Dbeaver安装数据库驱动-以安装Oracle驱动为例 参考:https://www.cnblogs.com/levi125 ...

  8. 上线网站详细介绍(服务器购买-域名申请-SSL证书申请)

    文章目录 上线之前的准备工作,通俗的来讲: 服务器是什么-云服务器购买 域名解释-域名备案-域名如何申请 ①什么是域名,为什么要域名? ②为什么非要域名备案和不备案的区别? ③自己的主机怎么备案-自己 ...

  9. 腾讯云/阿里云域名申请SSL证书(https证书)SSL证书过期了

     一.申请SSL证书 然后经过验证之后,再提交申请,再去添加解析. 最后可以在域名解析那里会有一个TXT的解析记录,就是添加成功了. 附上官方的申请流程:https://cloud.tencent.c ...

  10. 内网https需要ssl证书_IP地址可以申请SSL证书/https证书吗?

    答案:IP地址可以申请SSL证书实现IP的https加密,快速拿到IP证书,请直接联系本站右侧在线客服. 环度网信是可以帮助您的IP实现https加密的,只需要您满足如下几个条件: 1.您的IP地址是 ...

最新文章

  1. Build a react project step by step
  2. 【WPF】鼠标拖拽功能DragOver和Drop
  3. UA MATH563 概率论的数学基础 中心极限定理22 度量概率空间中的弱收敛 Portmanteau定理
  4. 为什么Angular的路由执行离不开router-outlet标签
  5. 遗传算法求二元函数极值怎么编码_用遗传算法求复杂函数的极值点
  6. 《Flutter 从0到1构建大前端应用》读后感—第6章【使用网络技术与异步编程】
  7. 到底什么才是自动化巡检?
  8. JAVA虚拟机规范第八版与JAVA虚拟机规范第九版PDF资源分享
  9. 为什么说神经网络是黑箱子模型,我刚刚有了新的感悟。
  10. 工业相机与镜头选型方法(含实例)
  11. 扫清盲点,如何正确的从HttpClient 3.x系统升级到HttpClient 4.x
  12. 基于java web的实验室设备管理系统的设计与实现
  13. win7计算机的用户名和密码,win7文件共享访问需要输入用户名和密码如何解决
  14. ubuntu设置自动关机
  15. Selenium元素定位方法总结
  16. 结构体对齐(字节对齐)规则及大小计算
  17. 菜鸟学MAC - mac十大使用技巧
  18. 如何使用HTML和CSS进行分页?
  19. 红领巾小创客机器人活动计划_争当红领巾小创客--小创客 大梦想
  20. 【单片机基础】stc89c52单片机实现流水灯的三种编程方式

热门文章

  1. 模型压缩文献笔记_3:彩票假设及其家属。
  2. Multiple Hypothesis Tracking Revisited
  3. MATLAB中拟合线性方程(最小二乘法)
  4. Yocto on Quark X1000
  5. Matlab中median函数的使用
  6. (搬砖)Epic/Feature/Story/Task/Bug到底是什么
  7. Windows10重装系统教程(超详细)
  8. KeilC51单片机外部中断原理解释
  9. 03. Excel_公式
  10. Pr:音频剪辑混合器和音轨混合器