我目前在使用Docker Swarm的Traefik和Traefik v1.7时遇到一些问题。 我无法将最低TLS版本更改为1.3。 我已经阅读了文档并按照上述说明应用了配置。
下面是我的TOML文件,该文件是使用Docker配置加载到容器中的:
debug = true
logLevel = "INFO"
defaultEntryPoints = ["https","http"]
rootCAs = [ "/xxxx.pem", "/xxxxRootCA.pem" ]
[tls.options]
[tls.options.default]
minVersion = "VersionTLS13"
[entryPoints]
[entryPoints.api]
address = ":8080"
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
minVersion = "VersionTLS13"
[entryPoints.https.tls.defaultCertificate]
certFile = "/run/secrets/cert_secret"
keyFile = "/run/secrets/cert_key_secret"
[api]
entrypoint = "api"
[retry]
[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
exposedByDefault = false
swarmMode = true
在上面的TOML文件中,我试图强制TLS连接使用版本1.3(最新),但是当我进入chrome devtools时,在安全性标签中,我能够看到仍在建立连接使用TLS 1.2。 在本地开发中,不使用Docker swarm(使用compose文件和类似toml文件进行配置),我能够获得所有连接以使用TLS 1.3。
在撰写文件中,我还设置了GO的环境变量:
reverse-proxy:
image: traefik:1.7.8
ports:
- "443:443" # The HTTP port
- "9553:8081" # The Web UI (enabled by --api)
volumes:
- /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
networks:
- default
secrets:
- cert_key_secret
- cert_secret
environment:
- GODEBUG=tls13=1
deploy:
mode: global
placement:
constraints:
- node.role == manager
update_config:
parallelism: 1
delay: 10s
restart_policy:
condition: on-failure
configs:
- source: traefik
target: /traefik.toml
- source: xxxxRootCA.pem
target: /xxxxRootCA.pem
- source: xxxx.pem
target: /xxxx.pem
由于我能够获得在本地开发中使用的最低TLS版本(不使用swarm),并且无法使用swarm获得完全相同的配置,因此有人是否有任何想法在这里出了什么问题? / p>