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

返回代码

ValueNameComment
0OKCommand has been successfully performed
1E_ARGSNot enough arguments provided
2E_INVALIDObject or argument is not valid
3E_NOTEXISTObject doesn’t exist
4E_EXISTSObject already exists
5E_SUSPENDEDObject is already suspended
6E_UNSUSPENDEDObject is already unsuspended
7E_INUSEObject can’t be deleted because it is used by another object
8E_LIMITObject cannot be created because of hosting package limits
9E_PASSWORDWrong / Invalid password
10E_FORBIDENObject cannot be accessed by this user
11E_DISABLEDSubsystem is disabled
12E_PARSINGConfiguration is broken
13E_DISKNot enough disk space to complete the action
14E_LAServer is to busy to complete the action
15E_CONNECTConnection failed. Host is unreachable
16E_FTPFTP server is not responding
17E_DBDatabase server is not responding
18E_RDDRRDtool failed to update the database
19E_UPDATEUpdate operation failed
20E_RESTARTService restart failed

根据 GPLv3 许可证发布