使用 docker 标签的 Traefik http 重定向到 https
Traefik http redirect to https using docker label
我在 swarm 模式下使用 traefik 作为 docker 服务。
Traefik 接受一些标签来配置它将如何处理 docker 容器并为其创建代理。
我可以在 docker 服务中定义标签 traefik.frontend.entryPoints=https
来覆盖 Traefik defaultEntryPoints
,但用户需要使用 https
发出请求。我想公开入口点 http
和 https
,但是如果用户使用 http
发出请求,Traefik 会将其重定向到 https
.
是否可以使用 entryPoints.http.redirect
作为 docker 标签来强制重定向某些特定服务?我不想在 traefik.toml
文件中设置它,因为它将应用于所有服务,我希望它只应用于某些服务,而不是所有服务。
此致
仍然是一个悬而未决的问题 -> 现在不可能。
由于this merge introduced into traefik version 1.5,现在可以做到:
labels:
- "traefik.frontend.redirect.entryPoint=https"
我对选择的问题有点纠结(这是正确的)所以这里有一些更多的信息。
如果您遵循 Traefik 文档中的 official Let'Encrypt tutorial,您最终会得到以下配置:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
在 entryPoints.http
中有 entryPoints.http.redirect
规则告诉 Traefik 实现重定向到 https。
如果您要挑选应该实现重定向的服务,您首先需要禁用此全局行为:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
此时,您可以将标签应用于要重定向的服务:
labels:
...
- "traefik.frontend.redirect.entryPoint=https"
希望对您有所帮助!
我在 swarm 模式下使用 traefik 作为 docker 服务。 Traefik 接受一些标签来配置它将如何处理 docker 容器并为其创建代理。
我可以在 docker 服务中定义标签 traefik.frontend.entryPoints=https
来覆盖 Traefik defaultEntryPoints
,但用户需要使用 https
发出请求。我想公开入口点 http
和 https
,但是如果用户使用 http
发出请求,Traefik 会将其重定向到 https
.
是否可以使用 entryPoints.http.redirect
作为 docker 标签来强制重定向某些特定服务?我不想在 traefik.toml
文件中设置它,因为它将应用于所有服务,我希望它只应用于某些服务,而不是所有服务。
此致
仍然是一个悬而未决的问题 -> 现在不可能。
由于this merge introduced into traefik version 1.5,现在可以做到:
labels:
- "traefik.frontend.redirect.entryPoint=https"
我对选择的问题有点纠结(这是正确的)所以这里有一些更多的信息。
如果您遵循 Traefik 文档中的 official Let'Encrypt tutorial,您最终会得到以下配置:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
在 entryPoints.http
中有 entryPoints.http.redirect
规则告诉 Traefik 实现重定向到 https。
如果您要挑选应该实现重定向的服务,您首先需要禁用此全局行为:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
此时,您可以将标签应用于要重定向的服务:
labels:
...
- "traefik.frontend.redirect.entryPoint=https"
希望对您有所帮助!