2

我正在尝试使用 cPanel API2 编辑其中一个区域文件的 A 记录,但我遇到了一个奇怪的问题。而不是替换条目,而是添加一个新条目。我对 API 的调用如下:

https://1.2.3.4:2087/json-api/editzonerecord?domain=mydomain.com&line=13&name=mydomain.com.&address=1.2.3.5&type=A&ttl=300

因此,不是将第 13 行(其中包含 A 记录)从 1.2.3.4 替换为 1.2.3.5,而是在原来的上方添加另一个条目。所以区域文件最终看起来像这样:

(..)
(13) mydomain.com.   300     IN   A   1.2.3.5
(14) mydomain.com.   14400   IN   A   1.2.3.4
(..)

我已按照http://docs.cpanel.net/twiki/bin/view/SoftwareDevelopmentKit/EditZoneRecord的说明进行操作

4

1 回答 1

2

来自 cPanel 的回应:

如果您只是尝试编辑记录的 IP,则可以省略名称部分。

我还发现,如果您包含名称选项并且有错误的行,或者名称与该行上的记录不匹配,它将为该记录创建一个新行。我使用该命令cat -n /var/named/example.com.db来检索区域的行号。

下面是我使用的 api 命令,它成功地编辑了域的 A 记录。

/json-api/editzonerecord?domain=example.com&line=13&&address=4.3.2.1&type=A&ttl=300

以下是编辑后的我的区域文件:

 1  ; cPanel first:11.32.4.15 (update_time):1348223931 Cpanel::ZoneFile::VERSION:1.3 hostname:cpanel.test.server latest:11.32.4.15
 2  ; Zone file for example.com
 3  $TTL 14400
 4  example.com.    86400   IN      SOA     ns1.cpcitizenk.com.     citizen.cpanel.net.     (
 5                                                  2012092110 ;Serial Number
 6                                                  86400 ;refresh
 7                                                  7200 ;retry
 8                                                  3600000 ;expire
 9                                                  86400   )
10
11  example.com.    86400   IN      NS      ns1.cpcitizenk.com.
12  example.com.    86400   IN      NS      ns2.cpcitizenk.com.
13  example.com.    300     IN      A       4.3.2.1
14  localhost       14400   IN      A       127.0.0.1
15  example.com.    14400   IN      MX      0       example.com.
16  mail    300     IN      A       1.2.3.4
17  www     14400   IN      CNAME   example.com.
18  ftp     14400   IN      A       1.2.3.4
19  cpanel  14400   IN      A       1.2.3.4
20  whm     14400   IN      A       1.2.3.4
21  webmail 14400   IN      A       1.2.3.4
22  webdisk 14400   IN      A       1.2.3.4
于 2012-09-24T01:23:26.790 回答