Hi, we have the following service:
mqtt:
image: eclipse-mosquitto:1.6.7
container_name: mqtt
restart: unless-stopped
volumes:
- /opt/mosquitto/config:/mosquitto/config
- /opt/mosquitto/log:/mosquitto/log
- /opt/mosquitto/data:/mosquitto/data
ports:
- "8883:8883"
logging:
options:
max-size: 100m
labels:
- "traefik.enable=true"
- "traefik.tcp.routers.mqtt.entrypoints=mqtt"
- "traefik.tcp.routers.mqtt.tls=true"
- "traefik.tcp.routers.mqtt.rule=HostSNI(`mqtt.ourdomain.tld`)"
- "traefik.tcp.routers.mqtt.tls.certResolver=le"
- "treafik.tcp.routers.mqtt.service=mqtt-svc"
- "treafik.tcp.routers.mqtt.tls.domains.main=mqtt.cold.its.be.continental.cloud"
- "traefik.tcp.services.mqtt-svc.loadbalancer.server.port=1883"
- "treafik.tcp.routers.mqtt.tls.options=mqtt"
- "traefik.tls.options.mqtt.sniStrict=false"
When not using tls, everything is fine. When using tls, only newer mqtt-clients/libraries can connect, that support the HostSNI feature.
Unfortunatelly, we have to be compatible to older clients, that do not support the tls extension.
The result should be, that traefik does the tls termination and forwards all traefik, that comes in trough the mqtt-entrypoint to the mqtt-service, whilst using the letsencrypt certificate defined in HostSNI...
Our approach now was to disable the sniStrict checking, but it seems the tls.options reference above does nothing
Anyone an idea how to achieve this?