我希望使用traefik作为grpc负载平衡。这是traefik.toml文件配置。
logLevel = "INFO"
[entryPoints]
[entryPoints.http]
address = ":2525"
[file]
[backends]
[backends.backend1]
[backends.backend1.servers.server1]
url = "http://localhost:6565"
weight = 10
[frontends]
[frontends.frontend1]
backend = "backend1"
[frontends.frontend1.headers]
# SSLRedirect = true
[frontends.frontend1.routes.Route1]
rule = "Host:localhost"
我的grpc服务器主机为localhost
,端口为6565
。 Grpc客户端向localhost:6565
(服务器)发送grpc请求将正常工作。但是当我配置traefik来监听端口2525
并运行traefik
时。将grpc客户端端口更改为2525
不是我请求的负载平衡。
但是traefik根据访问日志检测到grpc(http2)请求。
127.0.0.1 - - [13/Jun/2018:05:23:16 +0000] "PRI * HTTP/2.0" 404 19 "-" "-" 1 "backend not found" "*" 0ms
127.0.0.1 - - [13/Jun/2018:05:23:16 +0000] "PRI * HTTP/2.0" 404 19 "-" "-" 2 "backend not found" "*" 0ms
它说backend not found
。有点难以理解为什么会发生这种情况。我通过互联网寻求更好的解决方案。有人说使用https
。但是当NGINX
使用时,我们无需使用https
。所以我需要这样的解决方案。有人能给我一个更好的解决方案吗?