我正在尝试配置其中一个TargetServer来将HTTPS与后端服务进行通信。对于Apigee's official documentation以及other sources,它应该像将SSLInfo
节点添加到TargetServer定义并在该节点集"enabled" : true
中一样简单。我正在发送PUT
调用来实现这一目标,但响应没有SSLInfo
节点。跟进GET
确认SSLInfo
节点不存在。
请求(编辑)
PUT /v1/organizations/---/environments/---/targetservers/Services HTTP/1.1
Host: ---
Content-Type: application/json
Authorization: Basic ---
Cache-Control: no-cache
{
"name" : "Services",
"host" : "---",
"isEnabled" : true,
"port" : 443,
"SSLInfo": {
"enabled": true
}
}
使用响应(编辑),如果跟进GET
{
"host": "qa-services.ignitionone.com",
"isEnabled": true,
"name": "Services",
"port": 443
}
正如您所看到的,SSLInfo
只是不坚持,因此无法启用Edge-to-Target HTTPS通信。
我错过了什么?
答案 0 :(得分:1)
好的,问题是JSON序列化程序非常区分大小写。它不是"SSLInfo"
,而是必须"sSLInfo"
。它在大写更改后开始工作。
如此完整的结构:
PUT /v1/organizations/---/environments/---/targetservers/Services HTTP/1.1
Host: ---
Content-Type: application/json
Authorization: Basic ---
Cache-Control: no-cache
{
"name" : "Services",
"host" : "---",
"isEnabled" : true,
"port" : 443,
"sSLInfo": {
"enabled": true
}
}