Skip to content

API 系统介绍

Hestia REST API 可用于执行控制面板的核心功能。 例如,我们在内部使用它来同步 DNS 集群并集成 WHMCS 计费系统。 该 API 还可用于创建新的用户帐户、域、数据库,甚至构建替代的 Web 界面。

API 参考 提供 PHP 代码示例,演示如何将 API 集成到应用程序或脚本中。 但是,您也可以使用任何其他语言与 API 进行通信。

随着 Hestia v1.6.0 的发布,我们引入了更先进的 API 系统,它将允许非管理员用户使用特定命令。

我无法连接到 API

随着 Hestia v1.4.0 的发布,我们决定需要加强安全性。 如果您想从远程服务器连接到 API,您首先需要将其 IP 地址列入白名单。 要添加多个地址,请用新行分隔它们。

我可以禁用 API 吗?

是的,您可以通过服务器设置禁用 API。 该文件将从服务器中删除,所有连接都将被忽略。 请注意,禁用 API 后某些功能可能无法使用。

密码 vs API 密钥 vs 访问密钥

密码

  • 只能由管理员用户使用。
  • 更改管理员密码需要在使用该密码的所有地方进行更新。
  • 允许运行所有命令。

API 密钥

  • 只能由管理员用户使用。
  • 更改管理员密码不会产生任何后果。
  • 允许运行所有命令。

访问键

  • 用户特定。
  • 可以限制权限。 例如仅v-purge-nginx-cache
  • 能够禁用通过其他方法登录,但仍然允许使用 api 密钥
  • 可以仅限于管理员用户或允许所有用户。

设置访问/密钥认证

要创建访问密钥,请遵循我们文档中的指南

如果您使用的软件已经支持哈希格式,请使用“ACCESS_KEY:SECRET_KEY”而不是旧的 API 密钥。

创建 API 密钥

警告

该方法已被上述访问/密钥认证所取代。 我们强烈建议使用这种更安全的方法。

运行命令v-generate-api-key

返回代码

名称注释
0OK命令已成功执行
1E_ARGS提供的参数不足
2E_INVALID对象或参数无效
3E_NOTEXIST对象不存在
4E_EXISTS对象已存在
5E_SUSPENDED对象已挂起
6E_UNSUSPENDED对象已恢复
7E_INUSE对象正在被其他对象使用,无法删除
8E_LIMIT由于主机包限制,无法创建对象
9E_PASSWORD密码错误/无效
10E_FORBIDEN此用户无法访问该对象
11E_DISABLED子系统已禁用
12E_PARSING配置已损坏
13E_DISK磁盘空间不足,无法完成操作
14E_LA服务器太忙,无法完成操作
15E_CONNECT连接失败,主机不可达
16E_FTPFTP服务器未响应
17E_DB数据库服务器未响应
18E_RDDRRDtool无法更新数据库
19E_UPDATE更新操作失败
20E_RESTART服务重启失败

根据 GPLv3 许可证发布