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