【发布时间】:2018-11-22 20:30:19
【问题描述】:
我希望使用 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 客户端将 grpc 请求发送到localhost:6565(服务器)会正常工作。但是当我将 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。所以我需要这样的解决方案。谁能给我一个更好的解决方案?
【问题讨论】:
标签: load-balancing grpc traefik