万籁俱寂,万字将成。
Huasui
Stay hungry. Stay foolish.
© 2022-2026
Powered by Mix Space&
余白 / Yohaku
.
正在被0人看爆
😊关于
关于我隐私权 ↗
🧐更多
时间线朋友们思考 ↗
🤗联系
写留言发邮件 ↗GitHub ↗
Huasui
Stay hungry. Stay foolish.
链接
关于我·隐私权·时间线·朋友们·思考·写留言·发邮件·GitHub
© 2022-2026 Powered by Mix Space&
余白 / Yohaku
.
正在被0人看爆
豫 ICP 备 2022029096号-2
RSS 订阅·站点地图·
··|
RSS 订阅·站点地图·|··|豫 ICP 备 2022029096号-2
稍候片刻,月出文自明。

多1Panel面板域名SSL证书同步

·(已编辑)· / , , ·362 阅读
这篇文章上次修改于,可能部分内容已经不适用,如有疑问可询问作者。
关键洞察
AI · GEN

多1Panel面板域名SSL证书同步

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • 注意,此文章大概不适用与1Panel V2版本(没测试),不知后续V2主节点的节点能否同步到子节点。

    前言

    最初是华为云推出了免费DNSSEC,所以把域名NS切换到了华为云,之后发现1Panel没有华为云DNS账户(当然现在已经适配了,1Panel牛批!),第三方证书自动化又无法很好的联动1Panel,尤其是多服务器,多网站较分散的情况。

    同步脚本

    有大佬根据1panel rest-api 文档手搓了个脚本,可以说是非常方便了 (感谢大佬!!!)

    这个脚本就是把本地证书文件通过API更新1Panel已上传的证书

    使用场景:

    • 如果你想多台装有1panel的服务器同步ssl更新
    • 使用第三方自动化证书申请,但需要在1panel使用的
    • 不想重复在多个1Panel中配置DNS/ACME账户,申请相同域名的证书(如泛域名证书)

    如何使用

    我的场景是:A服务器1Panel申请证书,推送证书到A服务器本地目录/opt/ssl/vlo,申请成功后执行:SCP免密命令同步到 其他服务器 /opt/ssl/vlo目录下,以及SSH命令免密远程执行 其他服务器 /opt/ssl/vlo.sh 同步脚本

    BASH
    scp  /opt/ssl/vlo/fullchain.pem root@1.1.1.1:/opt/ssl/vlo
    scp  /opt/ssl/vlo/privkey.pem root@1.1.1.1:/opt/ssl/vlo
    # 将证书文件上传到其他服务器
    ssh  root@1.1.1.1 "cd /opt/ssl && bash vlo.sh"
    # 执行其他服务器上的同步脚本,将最新证书信息同步到1Panel面板
    

    因为需要免密执行scp命令和ssh命令,所以需要在 其他服务器 上配置好A服务器的SSH公钥,ssh请开启允许密钥登录,开启后重启ssh服务

    脚本设置

    1Panel API 地址填写需要域名: 1Panel新建反向代理网站,代理地址 http(s)://ip:面板端口 注意:如果面板本身开启ssl访问,需要选择https

    面板安全入口,需要把安全入口转换为Base64 ,如panel转Base64cGFuZWw=

    定义证书相关信息

    # 填写自己证书路径
    # 证书私钥路径
    PRIVATE_KEY_PATH="/opt/ssl/vlo/privkey.pem"
    # 证书文件路径
    CERTIFICATE_PATH="/opt/ssl/vlo/fullchain.pem"  
    

    SSL_ID获取: 如果还没有上传证书,需要手动上传一次需要同步的证书,然后打开F12选择网络,点证书详情

    查看文件显示数字,数字就是脚本用到的SSL_ID

    DESCRIPTION="sync from Server-A"是备注信息,自定义就行

    最后

    配置好之后,证书在一台1panel服务器上申请,就能同步到其他多台服务器的1Panel面板,且不用手动更新网站证书;当然也可以是使用第三方自动化证书申请其他品牌证书时,使用此脚本同步到1Panel面板使用