mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			99 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						||
option go_package = "./pb";
 | 
						||
 | 
						||
package pb;
 | 
						||
 | 
						||
import "models/model_reverse_proxy.proto";
 | 
						||
import "models/rpc_messages.proto";
 | 
						||
 | 
						||
// 反向代理管理服务
 | 
						||
service ReverseProxyService {
 | 
						||
	// 创建反向代理
 | 
						||
	rpc createReverseProxy (CreateReverseProxyRequest) returns (CreateReverseProxyResponse);
 | 
						||
 | 
						||
	// 查找反向代理
 | 
						||
	rpc findEnabledReverseProxy (FindEnabledReverseProxyRequest) returns (FindEnabledReverseProxyResponse);
 | 
						||
 | 
						||
	// 查找反向代理配置
 | 
						||
	rpc findEnabledReverseProxyConfig (FindEnabledReverseProxyConfigRequest) returns (FindEnabledReverseProxyConfigResponse);
 | 
						||
 | 
						||
	// 修改反向代理的调度算法
 | 
						||
	rpc updateReverseProxyScheduling (UpdateReverseProxySchedulingRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 修改主要源站信息
 | 
						||
	rpc updateReverseProxyPrimaryOrigins (UpdateReverseProxyPrimaryOriginsRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 修改备用源站信息
 | 
						||
	rpc updateReverseProxyBackupOrigins (UpdateReverseProxyBackupOriginsRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 修改反向代理设置
 | 
						||
	rpc updateReverseProxy (UpdateReverseProxyRequest) returns (RPCSuccess);
 | 
						||
}
 | 
						||
 | 
						||
// 创建反向代理
 | 
						||
message CreateReverseProxyRequest {
 | 
						||
	bytes schedulingJSON = 1; // 可选项,调度设置 @link json:scheduling
 | 
						||
	bytes primaryOriginsJSON = 2; // 可选项,主要源站 @link json:origin_refs
 | 
						||
	bytes backupOriginsJSON = 3; // 可选项,备用源站 @link json:origin_refs
 | 
						||
}
 | 
						||
 | 
						||
message CreateReverseProxyResponse {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
}
 | 
						||
 | 
						||
// 查找反向代理
 | 
						||
message FindEnabledReverseProxyRequest {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
}
 | 
						||
 | 
						||
message FindEnabledReverseProxyResponse {
 | 
						||
	ReverseProxy reverseProxy = 1; // 反向代理信息
 | 
						||
}
 | 
						||
 | 
						||
// 查找反向代理配置
 | 
						||
message FindEnabledReverseProxyConfigRequest {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
}
 | 
						||
 | 
						||
message FindEnabledReverseProxyConfigResponse {
 | 
						||
	bytes reverseProxyJSON = 1; // 反向代理配置
 | 
						||
}
 | 
						||
 | 
						||
// 修改反向代理调度算法
 | 
						||
message UpdateReverseProxySchedulingRequest {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
	bytes schedulingJSON = 2; // 调度配置 @link json:scheduling
 | 
						||
}
 | 
						||
 | 
						||
// 修改主要源站信息
 | 
						||
message UpdateReverseProxyPrimaryOriginsRequest {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
	bytes originsJSON = 2; // 源站配置 @link json:origin_refs
 | 
						||
}
 | 
						||
 | 
						||
// 修改备用源站信息
 | 
						||
message UpdateReverseProxyBackupOriginsRequest {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
	bytes originsJSON = 2; // 源站配置 @link json:origin_refs
 | 
						||
}
 | 
						||
 | 
						||
// 修改反向代理设置
 | 
						||
message UpdateReverseProxyRequest {
 | 
						||
	int64 reverseProxyId = 1; // 反向代理ID
 | 
						||
	int32 requestHostType = 6; // 可选参数,回源主机名类型:0 跟随CDN域名,1跟随源站,2自定义
 | 
						||
	string requestHost = 2; // 可选参数,自定义回源主机名
 | 
						||
	bool requestHostExcludingPort = 15; // 可选参数,回源主机名中去除端口
 | 
						||
	string requestURI = 3; // 可选参数,请求URI
 | 
						||
	string stripPrefix = 4; // 可选参数,去除URI前缀
 | 
						||
	bool autoFlush = 5; // 可选参数,自动刷新
 | 
						||
	repeated string addHeaders = 7; // 可选参数,可以添加的请求报头
 | 
						||
	bytes connTimeoutJSON = 8; // 可选参数,连接超时时间
 | 
						||
	bytes readTimeoutJSON = 9; // 可选参数,读取超时时间
 | 
						||
	bytes idleTimeoutJSON = 10; // 可选参数,空闲连接超时时间
 | 
						||
	int32 maxConns = 11; // 可选参数,最大连接数
 | 
						||
	int32 maxIdleConns = 12; // 可选参数,最大空闲连接数
 | 
						||
	bytes proxyProtocolJSON = 13; // 可选参数,PROXY Protocol设置
 | 
						||
	bool followRedirects = 14; // 可选参数,跳转跟随
 | 
						||
	bool retry50X = 16; // 可选参数,是否启用50X重试
 | 
						||
	bool retry40X = 17; // 可选参数,是否启用40X重试
 | 
						||
} |