宝塔面板增加自定义DNS的api集成 – 比如增加cloudxns

宝塔面板用Dns申请SSL证书的时候,面板自己集成了3个dns api接口,如果我们想自己增加一个进去,该怎么操作呢。

这里国外主机优惠以cloudxns为列,讲一下如何自己定义一个dns api加入到宝塔面板中方便申请SSL证书。

额,cloudxns其实已经被宝塔面板集成到了接口中,不过这就是一个列子,你看会了,自己可以根据需要增加。

一:开始部署

宝塔面板6.9.1为例,要是最新版的,我们首先找到[code]dns_api.json[/code]这个文件。路径:

/www/server/panel/config

找到之后编辑,编辑之前最好先复制一份,或者下载到本地编辑,因为你在线编译过之后,面板会加密文件,你第二次编辑基本就看不懂了。我们把代码加入到文件的的最下面但是在[code]][/code]之前:

  {
    "name": "dns_cx",
    "title": "CloudXns",
    "ps": "使用cloudxns的API接口自动解析申请SSL",
    "help": "cloudxns后台》用户中心》API管理,按指引获取AccessKey/SecretKey",
    "data": [
      {
        "key": "SAVED_CX_Key",
        "name": "AccessKey",
        "value": ""
      },
      {
        "key": "SAVED_CX_Secret",
        "name": "SecretKey",
        "value": ""
      }
    ]
  },

如果不会,我们可以看图:

加到最先面有点繁琐啊,你可以加到中间,注意什么逗号,中括号之类的别搞错了。加好之后,保存上传覆盖。

二:效果

我们加好之后,可以去dns申请ssl处看看是否添加成功了,如图:

 

之后,你就可以用这个申请新的SSL证书了。点击之后,会跳出对话框,然你输入密钥之类,如图:

和内置的api都是一样的操作,这里不再赘述。

三:其他版本

如果不是6.9.1,是5.91版本的或者是其他的额,国外主机优惠也知道具体是什么版本开始改版的,我们要找到panelSite.py文件,路径:

/www/server/panel/class/panelSite.py

在文件的955行,我们可以找到配置的信息,如下:

文件格式是这种形式的,可以根据需要编辑添加进来即可:

{
                    "name":"dns_cx",
                    "title":"cloudxns",
                    "ps":"使用cloudxns的API接口自动解析申请SSL",
                    "help":"cloudxns后台》用户中心》API管理,按指引获取AccessKey/SecretKey",
                    "data":[{"key":"SAVED_CX_Key","name":"AccessKey","value":""},{"key":"SAVED_CX_Secret","name":"SecretKey","value":""}]
                },

四:问题解决

如果出现[code]’dns_class’ is not defined[/code]这里错误,是因为没有定义dns,或者没找到原始的dns接口没有调用到,我们需要来这修改找到文件[code]sewer_Usage.py[/code],路径:

/www/server/panel/class/sewer_Usage.py

可以根据需要来修改,国外主机优惠看到有内置了dns.com的接口,可以增加一个dns.com的。

如果有的dns接口只需要一个secret,那我们还需要在这个文件里修改,或者添加代码,额,越说越复杂了。有兴趣的自己去折腾吧。

五:总结

这个弄出来也没什么意义,因为只要你点击面板的修复面板会立马都恢复如初了,所以说,或者更新升级面板之后,都会没有了。

如果你更改过后,只能用一阵子,动手能力强的可以开发第三方插件加入进去就可以解决了。

这篇文章,国外主机优惠就这么水一水把!!!!宝塔面板内置的dnsapi,在这里可以去看看:

/root/.acme.sh/dnsapi