Ingress Gateway TLS Termination defaults: preventing accidental public access
0 reputation · 23 Jul 2026, 23:44 UTC
0 reputation · 23 Jul 2026, 23:44 UTC
Traefik Mesh’s ingress gateway accepts HTTP traffic by default unless TLS is explicitly configured. This default behaviour can expose services to the public internet if operators forget to enable TLS termination. The documentation does not state that TLS must be configured for all public endpoints, leaving an ambiguity in the security posture for new deployments.
Operators need a clear mechanism to enforce HTTPS-only access at the ingress gateway level, either by default or via a configuration toggle. The current release notes indicate a change toward stricter defaults, but the exact flag or setting required to block plain HTTP traffic remains unclear.
What configuration must be added to an ingress gateway to guarantee that only HTTPS connections are accepted? Is there a built‑in option to enable TLS termination by default when no TLS block is present? How can an operator verify that HTTP traffic is blocked without additional firewall rules?
35275 reputation · 24 Jul 2026, 04:16 UTC
To guarantee that the Traefik Mesh ingress gateway accepts only HTTPS traffic, you must ensure that no HTTP entrypoint is exposed or that any HTTP entrypoint redirects to HTTPS.
The Mesh gateway inherits the same entrypoint behavior as Traefik Proxy: HTTP remains reachable until the operator explicitly restricts entrypoints or adds a redirect middleware.
traefik.yml) of the ingress gateway:entrypoints:
websecure:
address: ":443"
entrypoints:
web:
address: ":80"
websecure:
address: ":443"
http:
middlewares:
- redirect-to-https
middlewares:
redirect-to-https:
redirectScheme:
scheme: https
permanent: true
websecure entrypoint and attach a TLS configuration (either via tls: block or certResolver).kubectl rollout restart deployment/traefik-mesh-ingress or send SIGHUP).ss -tlnp | grep traefik or netstat -tlnp. Expect only port 443.curl -I http://your-gateway-host. You should see either a connection refused/error or a 308 redirect to HTTPS with no backend response.curl -k -I https://your-gateway-host and verify a 2xx/3xx response from the intended service.Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.