Files
pyGoEdge-UserPanel/reference/goedge 文档/ReverseProxyService.md
2025-11-18 03:36:49 +08:00

6.4 KiB
Raw Blame History

ReverseProxyService

反向代理管理服务


createReverseProxy

创建反向代理

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/createReverseProxy
  • RPCrpc createReverseProxy (CreateReverseProxyRequest) returns (CreateReverseProxyResponse);

请求对象 (CreateReverseProxyRequest)

{
  "schedulingJSON": "bytes // 可选项,调度设置 json:scheduling",
  "primaryOriginsJSON": "bytes // 可选项,主要源站 json:origin_refs",
  "backupOriginsJSON": "bytes // 可选项,备用源站 json:origin_refs"
}

响应对象 (CreateReverseProxyResponse)

{
  "reverseProxyId": "int64 // 反向代理ID"
}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/createReverseProxy" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledReverseProxy

查找反向代理

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/findEnabledReverseProxy
  • RPCrpc findEnabledReverseProxy (FindEnabledReverseProxyRequest) returns (FindEnabledReverseProxyResponse);

请求对象 (FindEnabledReverseProxyRequest)

{
  "reverseProxyId": "int64 // 反向代理ID"
}

响应对象 (FindEnabledReverseProxyResponse)

{
  "reverseProxy": "ReverseProxy // 反向代理信息"
}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/findEnabledReverseProxy" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledReverseProxyConfig

查找反向代理配置

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/findEnabledReverseProxyConfig
  • RPCrpc findEnabledReverseProxyConfig (FindEnabledReverseProxyConfigRequest) returns (FindEnabledReverseProxyConfigResponse);

请求对象 (FindEnabledReverseProxyConfigRequest)

{
  "reverseProxyId": "int64 // 反向代理ID"
}

响应对象 (FindEnabledReverseProxyConfigResponse)

{
  "reverseProxyJSON": "bytes // 反向代理配置"
}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/findEnabledReverseProxyConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateReverseProxy

修改反向代理设置

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/updateReverseProxy
  • RPCrpc updateReverseProxy (UpdateReverseProxyRequest) returns (RPCSuccess);

请求对象 (UpdateReverseProxyRequest)

{
  "reverseProxyId": "int64 // 反向代理ID",
  "requestHostType": "int32 // 可选参数回源主机名类型0 跟随CDN域名1跟随源站2自定义",
  "requestHost": "string // 可选参数,自定义回源主机名",
  "requestHostExcludingPort": "bool // 可选参数,回源主机名中去除端口",
  "requestURI": "string // 可选参数请求URI",
  "stripPrefix": "string // 可选参数去除URI前缀",
  "autoFlush": "bool // 可选参数,自动刷新",
  "addHeaders": "[]string // 可选参数,可以添加的请求报头",
  "connTimeoutJSON": "bytes // 可选参数,连接超时时间",
  "readTimeoutJSON": "bytes // 可选参数,读取超时时间",
  "idleTimeoutJSON": "bytes // 可选参数,空闲连接超时时间",
  "maxConns": "int32 // 可选参数,最大连接数",
  "maxIdleConns": "int32 // 可选参数,最大空闲连接数",
  "proxyProtocolJSON": "bytes // 可选参数PROXY Protocol设置",
  "followRedirects": "bool // 可选参数,跳转跟随",
  "retry50X": "bool // 可选参数是否启用50X重试",
  "retry40X": "bool // 可选参数是否启用40X重试"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/updateReverseProxy" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateReverseProxyBackupOrigins

修改备用源站信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/updateReverseProxyBackupOrigins
  • RPCrpc updateReverseProxyBackupOrigins (UpdateReverseProxyBackupOriginsRequest) returns (RPCSuccess);

请求对象 (UpdateReverseProxyBackupOriginsRequest)

{
  "reverseProxyId": "int64 // 反向代理ID",
  "originsJSON": "bytes // 源站配置 json:origin_refs"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/updateReverseProxyBackupOrigins" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateReverseProxyPrimaryOrigins

修改主要源站信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/updateReverseProxyPrimaryOrigins
  • RPCrpc updateReverseProxyPrimaryOrigins (UpdateReverseProxyPrimaryOriginsRequest) returns (RPCSuccess);

请求对象 (UpdateReverseProxyPrimaryOriginsRequest)

{
  "reverseProxyId": "int64 // 反向代理ID",
  "originsJSON": "bytes // 源站配置 json:origin_refs"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/updateReverseProxyPrimaryOrigins" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateReverseProxyScheduling

修改反向代理的调度算法

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/ReverseProxyService/updateReverseProxyScheduling
  • RPCrpc updateReverseProxyScheduling (UpdateReverseProxySchedulingRequest) returns (RPCSuccess);

请求对象 (UpdateReverseProxySchedulingRequest)

{
  "reverseProxyId": "int64 // 反向代理ID",
  "schedulingJSON": "bytes // 调度配置 json:scheduling"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/ReverseProxyService/updateReverseProxyScheduling" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'