安装acme在iptables严格防火墙下实现dns方式证书的自动签发

acme是一款非常好用的证书签发工具,不过在特定的场合,防火墙管理严格的情况下一般方法是无法申请到证书的,这里为大家介绍一种用阿里api申请证书的方法。方法不是唯一,只是给大家一个思路。

首先安装acme

apt update -y   #更新
apt install -y curl  #安装curl
apt install -y socat #安装socat
curl https://get.acme.sh | sh            #安装acme

配置acme

找到/root/.acme.sh/目录下的account.conf编辑

export Ali_Key="SDFutykjkhvjvhv" 
export Ali_Secret="SYAf56tiu3lkhl35hj6fjg"

填写自己的API保存即可。

阿里云的申请地址为:https://ram.console.aliyun.com/manage/ak

这里非常简单就不介绍了。

修改防火墙配置

#acme申请证书开放网址

#acme申请证书开放网址
#-A OUTPUT -d www.bokezhu.com -j ACCEPT
#-A INPUT -d www.bokezhu.com -j ACCEPT
-A OUTPUT -d acme.zerossl.com -j ACCEPT
-A INPUT -d acme.zerossl.com -j ACCEPT
-A OUTPUT -d api.zerossl.com -j ACCEPT
-A INPUT -d api.zerossl.com -j ACCEPT
-A OUTPUT -d acme.ssl.com -j ACCEPT
-A INPUT -d acme.ssl.com -j ACCEPT
-A OUTPUT -d alidns.aliyuncs.com -j ACCEPT
-A INPUT -d alidns.aliyuncs.com -j ACCEPT
-A OUTPUT -d acme-v02.api.letsencrypt.org -j ACCEPT
-A INPUT -d acme-v02.api.letsencrypt.org -j ACCEPT
-A OUTPUT -d acme-staging-v02.api.letsencrypt.org -j ACCEPT
-A INPUT -d acme-staging-v02.api.letsencrypt.org -j ACCEPT
-A OUTPUT -d api.buypass.com -j ACCEPT
-A INPUT -d api.buypass.com -j ACCEPT
-A OUTPUT -d api.test4.buypass.no -j ACCEPT
-A INPUT -d api.test4.buypass.no -j ACCEPT
#-A OUTPUT -d api.github.com -j ACCEPT
#-A INPUT -d api.github.com -j ACCEPT
#-A OUTPUT -d github.com -j ACCEPT
#-A INPUT -d github.com -j ACCEPT

以上必须开放acme.zerossl.com;api.zerossl.com;acme.ssl.com;alidns.aliyuncs.com

其他域名根据自己需要开放,另外还需要开放dns端口,可以参考:iptables禁用所有端口后让服务器dns通过解析该篇文章。

保存。

注册

~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com

xxxx@xxxx.com为邮箱

~/.acme.sh/acme.sh --issue --dns dns_ali -d www.bokezhu.com --dnssleep 120

–dnssleep 120  #延迟120秒,可防止出现No doh

–force     #续签

安装证书到指定文件夹

~/.acme.sh/acme.sh --installcert -d www.bokezhu.com --key-file /root/private.key --fullchain-file /root/cert.crt

 

本文来自投稿,不代表博客主立场,如若转载,请注明出处:https://www.bokezhu.com/2022/03/23/781.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022/03/23 17:36
下一篇 2022/03/30 21:38

相关推荐

发表评论

登录后才能评论

评论列表(1条)

  • 哇塞
    哇塞 2022/04/10 00:03

    最近ZeroSSL的服务器有些问题可更换为letsencrypt,需要输入以下命令
    .acme.sh/acme.sh –set-default-ca –server letsencrypt
    修改/root/.acme.sh/ca/acme-v02.api.letsencrypt.org/directory文件夹下的ca.conf将阿里api填入最后一行即可.