站点全局配置接口
站点配置接口
EO 站点的全局配置功能共用同一接口:
PUT /v2/geo/site/{site}/config:设置配置GET /v2/geo/site/{site}/config:查询配置(返回站点全部配置项)
api.SiteConfig 是统一的配置容器,所有字段均为指针类型 + omitempty:未赋值的字段不会出现在请求 body 中,未来新增配置项时按相同方式扩展即可。如需将某个配置显式设置为空(例如 cacheTtl: [] 表示遵循源站-默认缓存策略),传一个非 nil 的空值(如 &[]api.CacheTtl{})。
相关配置接口说明可参考对应配置的API文档:https://cloud.baidu.com/doc/GEO/s/Pmiigxbf0
设置节点缓存配置
1cli := GetDefaultClient()
2resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
3 CacheTtl: &[]api.CacheTtl{
4 {
5 Value: "/",
6 Weight: 100,
7 OverrideOrigin: true,
8 Ttl: 2592000,
9 Type: "path",
10 },
11 },
12})
13result, _ := json.Marshal(resp)
14fmt.Printf("result: %s\n", result)
15fmt.Printf("err:%+v\n", err)
api.CacheTtl 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Type | String | 是 | 其合法值为“path”。表示缓存目录的路径。 |
| Value | String | 是 | 其合法值为“/”。表示根目录。 |
| Weight | Int | 是 | 权重,合法值 100。 |
| OverrideOrigin | Bool | 是 | 表示缓存是否遵循源站。值为 true 时,表示不遵循源站,按照该条配置规则缓存。值为 false 时,表示遵循源站。 |
| Ttl | Int | 是 | 缓存时间,单位秒;0 表示不缓存。 |
设置查询字符串配置
1cli := GetDefaultClient()
2query := false
3cacheKeyIgnoreCase := false
4resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
5 CacheKey: &api.CacheKey{
6 Query: &query,
7 IncludeArgs: &[]string{"test1"},
8 IgnoreCase: &cacheKeyIgnoreCase,
9 },
10})
11result, _ := json.Marshal(resp)
12fmt.Printf("result: %s\n", result)
13fmt.Printf("err:%+v\n", err)
api.CacheKey 字段说明(IncludeArgs 与 ExcludeArgs 不可同时设置;二者仅在 Query=false 时生效):
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Query | *Bool | 否 | true 保留全部参数参与缓存;false 忽略全部参数参与缓存。 |
| IgnoreCase | *Bool | 否 | true 开启忽略大小写;false 关闭忽略大小写。 |
| IncludeArgs | *[]String | 否 | 保留指定参数参与缓存(仅 Query=false 时有效)。 |
| ExcludeArgs | *[]String | 否 | 忽略指定参数参与缓存(仅 Query=false 时有效)。 |
设置离线模式配置
1cli := GetDefaultClient()
2offlineMode := "ON"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 OfflineMode: &offlineMode,
5})
6result, _ := json.Marshal(resp)
7fmt.Printf("result: %s\n", result)
8fmt.Printf("err:%+v\n", err)
OfflineMode 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| OfflineMode | *String | 是 | ON 开启离线模式;OFF 关闭离线模式。 |
设置强制 HTTPS 配置
1cli := GetDefaultClient()
2httpToHttpsEnabled := "ON"
3httpToHttpsCode := "302"
4resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
5 HttpToHttpsEnabled: &httpToHttpsEnabled,
6 HttpToHttpsCode: &httpToHttpsCode,
7})
8result, _ := json.Marshal(resp)
9fmt.Printf("result: %s\n", result)
10fmt.Printf("err:%+v\n", err)
HttpToHttps* 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| HttpToHttpsEnabled | *String | 是 | ON 开启强制 HTTPS 重定向;OFF 关闭。 |
| HttpToHttpsCode | *String | 否 | 重定向状态码,301 或 302;HttpToHttpsEnabled=OFF 时无效。 |
设置 HSTS 配置
1cli := GetDefaultClient()
2maxAge := -1
3includeSubDomains := false
4preload := false
5resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
6 Hsts: &api.HSTS{
7 MaxAge: &maxAge,
8 IncludeSubDomains: &includeSubDomains,
9 Preload: &preload,
10 },
11})
12result, _ := json.Marshal(resp)
13fmt.Printf("result: %s\n", result)
14fmt.Printf("err:%+v\n", err)
api.HSTS 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| MaxAge | *Int | 是 | 配置保存时间,单位为天, 用户输入值为 0 ~ 730 或者 -1,为 -1 时表示关闭该配置项。 |
| IncludeSubDomains | *Bool | 是 | 是否包含子域名。 |
| Preload | *Bool | 是 | 是否支持预加载。 |
设置 HTTP2 配置
1cli := GetDefaultClient()
2http2Disable := "OFF"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 Http2Disable: &http2Disable,
5})
6result, _ := json.Marshal(resp)
7fmt.Printf("result: %s\n", result)
8fmt.Printf("err:%+v\n", err)
Http2Disable 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Http2Disable | *String | 是 | OFF 开启 HTTP2;ON 关闭 HTTP2。 |
设置 HTTP3 配置
1cli := GetDefaultClient()
2http3Enable := true
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 Http3: &api.HTTP3{
5 Enable: &http3Enable,
6 },
7})
8result, _ := json.Marshal(resp)
9fmt.Printf("result: %s\n", result)
10fmt.Printf("err:%+v\n", err)
api.HTTP3 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Enable | *Bool | 是 | true 开启 HTTP3;false 关闭 HTTP3。 |
设置最大上传大小配置
1cli := GetDefaultClient()
2clientMaxBodySize := "500m"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 ClientMaxBodySize: &clientMaxBodySize,
5})
6result, _ := json.Marshal(resp)
7fmt.Printf("result: %s\n", result)
8fmt.Printf("err:%+v\n", err)
ClientMaxBodySize 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| ClientMaxBodySize | *String | 是 | 单位支持 b、k、m(忽略大小写,b 可省略)。最大 500m。示例:100、100k、100M。 |
设置页面压缩配置
1cli := GetDefaultClient()
2compress := "ON"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 Compress: &compress,
5 CompressMethodArray: &[]string{"gzip", "br"},
6})
7result, _ := json.Marshal(resp)
8fmt.Printf("result: %s\n", result)
9fmt.Printf("err:%+v\n", err)
Compress* 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Compress | *String | 是 | ON 开启页面压缩;OFF 关闭页面压缩。 |
| CompressMethodArray | *[]String | 是 | 压缩方式,合法值:gzip、br,可同时启用。 |
设置智能加速配置
1cli := GetDefaultClient()
2isa := "ON"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 Isa: &isa,
5})
6result, _ := json.Marshal(resp)
7fmt.Printf("result: %s\n", result)
8fmt.Printf("err:%+v\n", err)
Isa 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Isa | *String | 是 | ON 开启智能加速;OFF 关闭智能加速。 |
设置状态码缓存配置
1cli := GetDefaultClient()
2resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
3 CacheCodeTtl: &[]api.CacheCodeTtl{
4 {Value: "404", Weight: 100, OverrideOrigin: true, Ttl: 10, Type: "code"},
5 {Value: "400", Weight: 100, OverrideOrigin: true, Ttl: 10, Type: "code"},
6 },
7})
8result, _ := json.Marshal(resp)
9fmt.Printf("result: %s\n", result)
10fmt.Printf("err:%+v\n", err)
api.CacheCodeTtl 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Type | String | 是 | 合法值 code,表示异常状态码缓存。 |
| Value | String | 是 | 4xx:400/401/403/404/405/407/414/451;5xx: 500/501/502/503/504/509/514。 |
| Ttl | Int | 是 | 缓存时间,单位秒,取值范围 0~315360000。 |
| OverrideOrigin | Bool | 是 | 合法值 true。 |
| Weight | Int | 是 | 权重,合法值 100。 |
注:最多 15 条状态码缓存规则,且不可重复。
设置 gRPC 回源配置
1cli := GetDefaultClient()
2grpcOrigin := "ON"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 GrpcOrigin: &grpcOrigin,
5})
6result, _ := json.Marshal(resp)
7fmt.Printf("result: %s\n", result)
8fmt.Printf("err:%+v\n", err)
GrpcOrigin 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| GrpcOrigin | *String | 是 | ON 开启 gRPC 回源;OFF 关闭 gRPC 回源。 |
设置 HTTP2 回源配置
1cli := GetDefaultClient()
2http2Origin := "ON"
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 Http2Origin: &http2Origin,
5})
6result, _ := json.Marshal(resp)
7fmt.Printf("result: %s\n", result)
8fmt.Printf("err:%+v\n", err)
Http2Origin 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Http2Origin | *String | 是 | ON 开启 HTTP2 回源;OFF 关闭 HTTP2 回源。 |
设置回源请求头配置
注意:本接口为全量更新,每次设置需带上希望保留的全部回源请求头,否则原有配置会被覆盖。
1cli := GetDefaultClient()
2resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
3 OriginRequest: &api.OriginRequest{
4 AddHeaders: &api.HeaderMap{
5 "test": "${uri}",
6 "test2": "11",
7 },
8 RemoveHeaders: &api.HeaderMap{
9 "Content-Type": "",
10 },
11 },
12})
13result, _ := json.Marshal(resp)
14fmt.Printf("result: %s\n", result)
15fmt.Printf("err:%+v\n", err)
清空回源请求头配置:显式传入非 nil 的空 HeaderMap(序列化为 [])。
1resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
2 OriginRequest: &api.OriginRequest{
3 AddHeaders: &api.HeaderMap{},
4 RemoveHeaders: &api.HeaderMap{},
5 },
6})
api.OriginRequest 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| AddHeaders | *api.HeaderMap | 否 | 添加回源请求头。key 为 HTTP 头字段,一般为 HTTP 标准 Header,长度限制 128,也可以是自定义 Header;value 为该 header 的值,长度限制 1000,可以是常量也可以是变量。 变量约束:以 $ 开始的子串必须符合 ${x} 模式,合法变量为:• ${uri} 客户端请求的 URL 路径部分(不含查询参数)• ${host} 客户端请求 host 头部值• ${scheme} 客户端请求协议(http 或 https)• ${request_uri} 客户端请求路径和参数(含查询参数)• ${jvip} 节点 IP• ${remote_addr} 客户端 IP(存在代理时不准确)• ${request_id} 请求的唯一标识符典型非法值: • 变量不符合限制,如 X-REQ-${url}• 含 $ 但不符合 ${x} 模式,如 X-REQ-$uri注意:value 不支持 $ 纯字符透传,如 X-$ 非法。 |
| RemoveHeaders | *api.HeaderMap | 否 | 删除回源请求头。key、value 的合法取值同 AddHeaders。 |
api.HeaderMap 本质是 map[string]string。服务端在「未配置任何头」时返回的是空数组 [] 而非空对象 {},因此 SDK 为该类型定制了 JSON 编解码:解码时同时兼容 [] 和 {},编码时空 map 会序列化为 []。
注:最多设置 20 条 HTTP 回源请求头规则;不支持删除以 ohc、baidu 开头的回源请求头。
设置节点响应头配置
注意:本接口为全量更新,每次设置需带上希望保留的全部节点响应头,否则原有配置会被覆盖。
1cli := GetDefaultClient()
2resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
3 ClientResponse: &api.ClientResponse{
4 AddHeaders: &api.HeaderMap{
5 "test": "${uri}",
6 "test2": "11",
7 },
8 RemoveHeaders: &api.HeaderMap{
9 "Content-Type": "",
10 },
11 },
12})
13result, _ := json.Marshal(resp)
14fmt.Printf("result: %s\n", result)
15fmt.Printf("err:%+v\n", err)
清空节点响应头配置:显式传入非 nil 的空 HeaderMap(序列化为 [])。
1resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
2 ClientResponse: &api.ClientResponse{
3 AddHeaders: &api.HeaderMap{},
4 RemoveHeaders: &api.HeaderMap{},
5 },
6})
api.ClientResponse 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| AddHeaders | *api.HeaderMap | 否 | 添加节点响应头。key 为 HTTP 头字段,一般为 HTTP 标准 Header,长度限制 128,也可以是自定义 Header;value 为该 header 的值,长度限制 1000,可以是常量也可以是变量。 变量约束:以 $ 开始的子串必须符合 ${x} 模式,合法变量为:• ${uri} 客户端请求的 URL 路径部分(不含查询参数)• ${host} 客户端请求 host 头部值• ${scheme} 客户端请求协议(http 或 https)• ${request_uri} 客户端请求路径和参数(含查询参数)• ${jvip} 节点 IP• ${remote_addr} 客户端 IP(存在代理时不准确)• ${request_id} 请求的唯一标识符典型非法值: • 变量不符合限制,如 X-REQ-${url}• 含 $ 但不符合 ${x} 模式,如 X-REQ-$uri注意:value 不支持 $ 纯字符透传,如 X-$ 非法。 |
| RemoveHeaders | *api.HeaderMap | 否 | 删除节点响应头。key、value 的合法取值同 AddHeaders。 |
注:最多设置 20 条 HTTP 节点响应头规则。
设置浏览器缓存 TTL 配置
1cli := GetDefaultClient()
2clientCacheTtlMode := "custom"
3clientCacheTtl := 150
4
5resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
6 ClientCacheTtl: &api.ClientCacheTtl{
7 Mode: &clientCacheTtlMode,
8 Ttl: &clientCacheTtl,
9 },
10})
11result, _ := json.Marshal(resp)
12fmt.Printf("result: %s\n", result)
13fmt.Printf("err:%+v\n", err)
api.ClientCacheTtl 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Mode | *String | 是 | 工作模式。合法值:follow(遵循源站)、no_cache(不缓存)、custom(自定义缓存时间)。 |
| Ttl | *Int | 否 | 浏览器端自定义缓存时长,单位秒;仅当 Mode 为 custom 时有效。最小值 1,最大值 315360000(10 年)。 |
设置 webSocket 配置
1cli := GetDefaultClient()
2webSocketEnabled := true
3webSocketTimeout := 10
4
5resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
6 WebSocket: &api.WebSocket{
7 Enabled: &webSocketEnabled,
8 Timeout: &webSocketTimeout,
9 },
10})
11result, _ := json.Marshal(resp)
12fmt.Printf("result: %s\n", result)
13fmt.Printf("err:%+v\n", err)
api.WebSocket 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Enabled | *Bool | 是 | true 表示开启,false 表示关闭。 |
| Timeout | *Int | 否 | 最大连接超时时长,取值范围 1-300 秒;开启时必传,关闭时不传。 |
设置 SSL/TLS 安全配置
1cli := GetDefaultClient()
2sslMode := "strong"
3sslCipherList := "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:" +
4 "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:" +
5 "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
6sslModePtr := &sslMode
7sslCipherListPtr := &sslCipherList
8
9resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
10 SslProtocols: &[]string{"TLSv1.2", "TLSv1.3"},
11 SslMode: &sslModePtr,
12 SslCipherList: &sslCipherListPtr,
13})
14result, _ := json.Marshal(resp)
15fmt.Printf("result: %s\n", result)
16fmt.Printf("err:%+v\n", err)
选择「全部加密算法套件」时无需传 SslCipherList:
1cli := GetDefaultClient()
2sslMode := "all"
3sslModePtr := &sslMode
4resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
5 SslProtocols: &[]string{"TLSv1.0", "TLSv1.1", "TLSv1.2", "TLSv1.3"},
6 SslMode: &sslModePtr,
7})
关闭 SSL/TLS 配置:三个字段都需要下发 null。
1cli := GetDefaultClient()
2var nilProtocols []string
3var nilStr *string
4resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
5 SslProtocols: &nilProtocols,
6 SslMode: &nilStr,
7 SslCipherList: &nilStr,
8})
SSL/TLS 相关字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| SslProtocols | *[]String | 是 | SSL/TLS 版本。合法值:TLSv1.0、TLSv1.1、TLSv1.2、TLSv1.3,可传一个或多个,且必须是连续版本。 |
| SslMode | **String | 是 | 加密算法套件模式。合法值:all(全部套件)、strong(强套件,必须同时设置 TLSv1.2 与 TLSv1.3)、custom(自定义套件,必须同时设置 TLSv1.2 与 TLSv1.3)。 |
| SslCipherList | **String | 否 | 加密算法套件列表,多个套件以英文冒号 : 分隔。all 模式无需传;strong 模式必须传齐 TLSv1.2 的 6 项强套件;custom 模式可选传 TLSv1.2 支持的套件。 |
SslCipherList 可选值:
| TLS 协议 | 支持的加密算法套件 |
|---|---|
| TLSv1.0 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_256_CBC_SHA |
| TLSv1.2 | 强加密算法套件(strong 模式下 6 项缺一不可):TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384其他加密算法套件: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_GCM_SHA384、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA256custom 模式下强套件与其他套件均可自由选择。 |
| TLSv1.3 | TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_GCM_SHA256。strong 与 custom 模式下这 3 项默认支持,无需重复传参。 |
设置 OCSP 配置
1cli := GetDefaultClient()
2ocsp := "ON"
3
4resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
5 Ocsp: &ocsp,
6})
7result, _ := json.Marshal(resp)
8fmt.Printf("result: %s\n", result)
9fmt.Printf("err:%+v\n", err)
Ocsp 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Ocsp | *String | 是 | ON 开启 OCSP;OFF 关闭 OCSP。 |
设置用户 ip 获取配置
1cli := GetDefaultClient()
2realIpEnabled := true
3realIpName := "True-Client-Ip"
4
5resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
6 RealIp: &api.RealIp{
7 Enabled: &realIpEnabled,
8 Name: &realIpName,
9 },
10})
11result, _ := json.Marshal(resp)
12fmt.Printf("result: %s\n", result)
13fmt.Printf("err:%+v\n", err)
关闭用户 ip 获取时不传 Name:
1cli := GetDefaultClient()
2realIpEnabled := false
3resp, err := cli.SetSiteConfig("your_site.com", &api.SiteConfig{
4 RealIp: &api.RealIp{
5 Enabled: &realIpEnabled,
6 },
7})
api.RealIp 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Enabled | *Bool | 是 | true 表示开启,false 表示关闭。 |
| Name | *String | 否 | 承载用户 IP 的头部名称,合法值:True-Client-Ip、X-Real-IP;开启时必传,关闭时不传。 |
查询站点配置
1cli := GetDefaultClient()
2cfg, err := cli.GetSiteConfig("your_site.com")
3if err != nil {
4 fmt.Printf("err:%+v\n", err)
5 return
6}
7
8// 只查询某一个配置项
9if cfg.CacheTtl != nil {
10 cacheTtlData, _ := json.Marshal(cfg.CacheTtl)
11 fmt.Printf("cacheTtl: %s\n", cacheTtlData)
12}
13
14// 查询由多个字段组成的配置项(如「页面压缩」由 Compress + CompressMethodArray 共同组成)
15if cfg.Compress != nil || cfg.CompressMethodArray != nil {
16 compressData, _ := json.Marshal(struct {
17 Compress *string `json:"compress,omitempty"`
18 CompressMethodArray *[]string `json:"compressMethodArray,omitempty"`
19 }{cfg.Compress, cfg.CompressMethodArray})
20 fmt.Printf("compress: %s\n", compressData)
21}
22// 同理「强制 HTTPS」由 HttpToHttpsEnabled 和 HttpToHttpsCode 组成,可按相同方式聚合查询。
23// 注意:当 HttpToHttpsEnabled = "OFF" 时,服务端不返回 HttpToHttpsCode
24if cfg.HttpToHttpsEnabled != nil {
25 httptohttpsData, _ := json.Marshal(struct {
26 HttpToHttpsEnabled *string `json:"httpToHttpsEnabled,omitempty"`
27 HttpToHttpsCode *string `json:"httpToHttpsCode,omitempty"`
28 }{cfg.HttpToHttpsEnabled, cfg.HttpToHttpsCode})
29 fmt.Printf("httpToHttps: %s\n", httptohttpsData)
30}
31
32// 查询全部配置
33allData, _ := json.Marshal(cfg)
34fmt.Printf("SiteConfig: %s\n", allData)
35
36// cfg.CacheTtl 为该站点当前的节点缓存配置;
37// cfg.CacheKey 为该站点当前的查询字符串配置;
38// cfg.OfflineMode 为该站点当前的离线模式配置;
39// cfg.HttpToHttpsEnabled 和 cfg.HttpToHttpsCode 为该站点当前的强制 HTTPS 配置;
40// cfg.Hsts 为该站点当前的 HSTS 配置;
41// cfg.Http2Disable 为该站点当前的 HTTP2 配置;
42// cfg.Http3 为该站点当前的 HTTP3 配置;
43// cfg.ClientMaxBodySize 为该站点当前的最大上传大小配置;
44// cfg.Compress 和 cfg.CompressMethodArray 为该站点当前的页面压缩配置;
45// cfg.Isa 为该站点当前的智能加速配置;
46// cfg.HttpHeader 为该站点当前的自定义 HTTP 头配置;
47// cfg.CacheCodeTtl 为该站点当前的状态码缓存配置;
48// cfg.GrpcOrigin 为该站点当前的 gRPC 回源配置;
49// cfg.Http2Origin 为该站点当前的 HTTP2 回源配置;
50// cfg.OriginRequest 为该站点当前的回源请求头配置;
51// cfg.ClientResponse 为该站点当前的节点响应头配置;
52// cfg.ClientCacheTtl 为该站点当前的浏览器缓存 TTL 配置;
53// cfg.WebSocket 为该站点当前的 webSocket 配置;
54// cfg.SslProtocols、cfg.SslMode 和 cfg.SslCipherList 为该站点当前的 SSL/TLS 安全配置;
55// cfg.Ocsp 为该站点当前的 OCSP 配置;
56// cfg.RealIp 为该站点当前的用户 ip 获取配置;
评价此篇文章
