Caddy的gRPC-Web桥
该模块实现了从gRPC-Web客户端到gRPC服务器的桥梁。它类似于Envoy的envoy.filters.http.grpc_web
过滤器。它是试验性的,可能会有变化。
要将gRPC-Web请求转换为gRPC,只需将grpc_web
处理程序添加到你的HTTP路由。它应该放在你的reverse_proxy
或任何其他期望gRPC请求的处理程序之前。
例子
Caddyfile:
{
order grpc_web before reverse_proxy
}
:5452 {
grpc_web
reverse_proxy h2c://127.0.0.1:50051
}
JSON:
{
"apps": {
"http": {
"servers": {
"srv0": {
"listen": [
":5452"
],
"routes": [
{
"handle": [
{
"handler": "grpc_web"
},
{
"handler": "reverse_proxy",
"transport": {
"protocol": "http",
"versions": [
"h2c",
"2"
]
},
"upstreams": [
{
"dial": "127.0.0.1:50051"
}
]
}
]
}
]
}
}
}
}
}
你也可以将websocket_ping
参数指定为间隔值>=1s,以便启用websocket keep-alive pings。