apisix网关 批量初使化域名证书,批量定期更新证书

#!/bin/bash

# 设置 API 密钥
API_KEY="xxx"

# 遍历 /etc/nginx/ssl 下的所有子目录
for dir in /etc/nginx/ssl/*/; do
    # 获取目录名作为 SNI
    sni=$(basename "$dir")

    # 构建证书和密钥的文件路径
    cert_path="${dir}xx.cer"
    key_path="${dir}xx.key"

    # 发送 curl 请求更新 SSL 证书
    curl http://127.0.0.1:9180/apisix/admin/ssls \
    -H "X-API-KEY: $API_KEY" -X POST -d '
    {
        "cert": "'"$(cat "$cert_path")"'",
        "key": "'"$(cat "$key_path")"'",
        "snis":["'"$sni"'"]
    }'
done
#!/bin/bash
API_KEY="xxx"
ssl_dir="/etc/nginx/ssl/"
# 获取原始数据
response=$(curl -s -H "X-API-KEY: ${API_KEY}" http://127.0.0.1:9180/apisix/admin/ssls)

#发送 curl 请求更新 SSL 证书
echo $response | jq -c '.list[]' | while read i; do
    id=$(echo $i | jq -r '.value.id')
    sni=$(echo $i | jq -r '.value.snis[0]')

    # 构建证书和密钥的文件路径
    cert_path="${ssl_dir}${sni}/xx.cer"
    key_path="${ssl_dir}${sni}/xx.key"

    # 发送 curl 请求更新 SSL 证书
    curl http://127.0.0.1:9180/apisix/admin/ssls/$id \
    -H "X-API-KEY: $API_KEY" -X PUT -d '
    {
        "cert": "'"$(cat "$cert_path")"'",
        "key": "'"$(cat "$key_path")"'",
        "snis":["'"$sni"'"]
    }'

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值