1 回答
TA贡献1851条经验 获得超4个赞
只是发布我最终为我的设置所做的事情。Nginx确实支持 1.3.10+ 版本的 GRPC,但需要大量手动工作和 cron 作业来自动更新证书,并且它缺少操作方法文档。
简而言之,Traefik 允许更简单的设置和非常详细的 GRPC 文档来开始。另一个优点是它在 docker 本身内部运行,因此可以轻松地在我的 mac 上测试我在服务器上部署的相同版本。它提供了自动证书续订和 DNS 质询,我可以轻松验证域。
TOML
反向代理端 TLS 终止的示例文件,用于 GRPC 和普通 REST 服务,支持http
(对于较旧的应用程序) & https
.
defaultEntryPoints = ["http", "https"]
logLevel = "INFO"
[traefikLog]
[accessLog]
filePath = "/var/log/access.log"
format = "json"
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[api]
[file]
[acme]
email = "admin@example.com"
storage = "acme.json"
entryPoint = "https"
acmeLogging = true
[acme.dnsChallenge]
provider = "gcloud"
[[acme.domains]]
main = "*.example.com"
sans = ["www.example.com"]
[backends]
[backends.foo]
[backends.foo.servers.server1]
url = "h2c://127.0.0.1:3000"
[backends.bar]
[backends.bar.servers.server1]
url = "http://127.0.0.1:3001"
[frontends]
[frontends.foo]
backend = "foo"
[frontends.foo.routes.server1]
rule = "Host:foo.example.com"
passHostHeader = true
passTLSCert = false
[frontends.bar]
backend = "bar"
[frontends.bar.routes.server1]
rule = "Host:bar.example.com"
passHostHeader = true
passTLSCert = false
唯一的问题是弄清楚提供商 ( dnsChallenge) 的 Google Cloud 设置,如果是第一次这样做,很难找到和设置!
- 1 回答
- 0 关注
- 195 浏览
添加回答
举报