我正在尝试过滤 CloudWatch 中字段键内部有点的日志。
例如,假设我们有以下 JSON
{
"trace.traceid": "18552fad59836133",
"trace.spanid": "6eca8ae25f08605a",
"peer.address": "111.111.111.222:4444",
"eventType": "UpdateTrail",
"sourceIPAddress": "111.111.111.111"
}
Run Code Online (Sandbox Code Playgroud)
我想使用选择器{$.peer.address="111.111.111.222:4444"}
,但点表示对象“peer”内的字段“地址”,而不是所描述的平键。
阅读完 HTTP/2 RFC (#7540)和 TLS-ALPN RFC (#7301)后,我仍然无法弄清楚当一端缺少 ALPN 时的预期行为。
假设我有一个使用 HTTP/2“h2”(通过 TLS)的客户端,该客户端与支持 HTTP/2 的服务器通信,但不在“服务器问候”中发送 ALPN 扩展。客户的预期行为是什么?
到目前为止,我见过的大多数客户端都认为服务器不支持 HTTP/2,并将连接降级到 http/1.1,但很少有人忽略(go-gRPC)继续使用 HTTP/2。
如果使用在客户端(“h2”)和服务器(“h2c”)之间执行 SSL 终止的 AWS classic LB,则此场景可能会更加实用。在此示例中,客户端发送值为“h2”的 ALPN 扩展,LB 在没有 ALPN 的情况下执行 SSL 握手(正如其部分所预期的那样),最终 JAVA gRPC 由于 HTTP/1.1 降级而失败。