traefik - 如何实现 Traefik 非 docker 多域转发
问题描述
我希望能够使用 Traefik 将带有子文件夹的域的流量转发到 diff 主机上的 docker 容器。另外,我希望能够使用多个单独的域。
我找不到确切的说明或指南。任何人都可以给我指点吗?
这是我到目前为止所拥有的。
### traefik.toml
defaultEntryPoints = ["https","http"]
[api]
entryPoint = "traefik"
dashboard = true
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
minVersion = "VersionTLS12"
cipherSuites = [
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
]
[entryPoints.traefik]
address = ":8080"
[entryPoints.traefik.auth.basic]
users = ["admin:{SHA}123="]
[acme]
email = "123@123.com"
storage = "/etc/traefik/acme/acme.json"
onHostRule = false
acmeLogging = true
caServer = "https://acme-v02.api.letsencrypt.org/directory"
entryPoint = "https"
[acme.dnsChallenge]
provider = "cloudflare"
delayBeforeCheck = 0
[[acme.domains]]
main = "*.123.it"
[[acme.domains]]
main = "*.123.co.uk"
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "{{ DOMAIN }}"
watch = true
exposedbydefault = false
[file]
[backends]
[backends.backend1]
[backends.backend1.servers.server1]
url = "http://192.168.0.1:8585/"
[backends.backend2]
[backends.backend2.servers.server2]
url = "http://192.168.0.1:8383/"
[frontends]
[frontends.frontend1]
backend = "backend1"
[frontends.frontend1.routes.graf]
rule = "Host:123.it"
[frontends.frontend2]
backend = "backend2"
[frontends.frontend2.routes.graf]
rule = "Host:123.co.uk; PathPrefix: /app"
解决方案
推荐阅读
- python - 使用 pywin32 关联正确的窗口以定义对象
- c# - .NET 6 中的 using 语句/指令在哪里
- python-3.x - RuntimeWarning:从未等待协程“tryit”
- google-apps-script - 调用脚本函数会导致复合范围的“范围未找到”
- python - 如何根据列表的值过滤字典
- css - 通过拉伸使背景图像覆盖 div,而不是保持纵横比
- git - git合并分支时如何避免损坏部分?
- angular - 在新选项卡中打开子组件并在父/子组件之间传递数据
- python - Python:如何在注意图形结构的同时迭代 MIME 消息树?
- spacy - 如何将现有的拥抱脸变压器模型用于 spacy?