Hey all,
So we are trying to setup an an inbound SMTP server, and see to getting the following error when the traffic goes through Traefik v2:
421 e833d73e1b94 You talk too soon
.
Now initially we thought this was an error with Docker, because it is stating that the Socker container received the telnet request. However upon testing telnetting directly to the Docker container IP address, the container could receive and perform requests without a problem. After further debugging, we limited it down to Traefik.Traefik with the prior step (and only step) between the local telnet request and the Docker container. We further proved this by telnetting to the Traefik IP which resulted in the error.
We believe that there is something wrong with either our docker-compose.yml or traefik.yml files, and any assistance would be greatly appreciated!
Here are the two files (replaced all the domains with example.com):
docker-compose.yml
services:
traefik:
image: traefik:v2.1
container_name: traefik
restart: always
ports:
- "25:25"
- "80:80"
- "443:443"
labels:
- traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)
- traefik.http.routers.http-catchall.entrypoints=web
- traefik.http.routers.http-catchall.middlewares=redirect-to-https@docker
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/traefik/traefik.yml:/etc/traefik/traefik.yml
- /etc/traefik/acme/acme.json:/letsencrypt/acme.json
air-dev:
build: https://github.com/example/air.git#dev
container_name: air-dev
restart: always
labels:
- traefik.tcp.routers.air-dev_smtp.service=air-dev_smtp
- traefik.tcp.services.air-dev_smtp.loadbalancer.server.port=25
- traefik.tcp.routers.air-dev_smtp.entrypoints=smtp
- traefik.tcp.routers.air-dev_smtp.rule=HostSNI(`*`)
- traefik.http.routers.air-dev_http.service=air-dev_http
- traefik.http.services.air-dev_http.loadbalancer.server.port=3000
- traefik.http.routers.air-dev_http.rule=Host(`air-dev.example.com`)
- traefik.http.routers.air-dev_http.tls=true
- traefik.http.routers.air-dev_http.tls.certresolver=tls
env_file: air/dev/env.env
traefik.yml
providers:
docker: {}
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
smtp:
address: ":25"
#providers:
# file:
# directory = /dynamic/
certificatesResolvers:
tls:
acme:
email: dev@example.com
storage: /letsencrypt/acme.json
httpChallenge:
# used during the challenge
entryPoint: web
log:
level: DEBUG
filePath: /var/log/traefik.log
format: json
Side note: we also checked the log files and there doesn't seem to be anything relating to the requests.
Thank you in advance for any assistance provided. It will be greatly appreciated.