-
|
We have deployed according to the steps in #322. However, we have a problem that only seems to affect some clients: Notice the error: Most clients do not experience this, however: The difference from the failing output appears to start here: Therefore, when the request succeeds, it's because the client falls back to HTTP/1.1. When the request fails, it's because the client attempts to use HTTP/2, which the server claims to support but fails to do so. The solution appears to be either:
How can we configure this stack to force HTTP/1.1 or enable HTTP/2? |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments
-
|
This appears to be a known issue: One workaround (described in https://community.traefik.io/t/traefik-advertises-http-2-when-backend-doesnt-support-it/1776) appears to involve creating a Here this would probably also require the addition of something like the following to Another workaround (described in https://community.traefik.io/t/traefikv2-http-2-0/1199) involves setting the following environment variables: Here this would involve the addition of the following to Will test these out and report back. |
Beta Was this translation helpful? Give feedback.
-
|
Adding the variables in both |
Beta Was this translation helpful? Give feedback.
-
|
Tried various combinations of specifying minVersion and cipherSuites in the .toml file and in the traefik.yml, with no luck. Turning on debug logging in traefik.yml shows this whenever an attempt is made to connect from the affected machine: Also: None of the container IPs match the target in the Traefik log of 10.0.0.2... |
Beta Was this translation helpful? Give feedback.
-
|
Same for Traefik v2.9.6: traefik.tcp.routers.gf7tcp.tls.passthrough=true results in error "404 not found" in Microsoft Edge. In Internet Explorer 11 (no HTTP/2 ?) TLS passthrough to Glassfish 7 (HTTP/2 enabled) Log has no handshake error message - Traefik has the correct IP & port in dashboard. Setting TLS options does not help, loglevel DEBUG does not print any error message. But I only have this problem in a docker swarm environment. In docker standalone the same docker image (traefik & glassfish) works fine with Very strange behaviour. Edit: It might have something to do with HTTP/2 and wildcard certificates. I will change that and report. |
Beta Was this translation helpful? Give feedback.
-
|
It seems that adding to dynamic configuration file solves the problem, but only if the certificate is exclusively used on the tcp router (and not on other https routers) since it contains wildcard DNS SANs and this can not be handled by traefik. Maybe adding a configuration value to [[tls.certificates]] which indicates all hostnames the certificate should be used for could help - or defining the certificate file on service level value. I assume the problem is not (only) http2 in traefik since browsers acted differently: Sometimes they where showing the webserver's index.html, sometimes 404 from traefik although different certificates were used. But setting the order |
Beta Was this translation helpful? Give feedback.
-
|
In case anyone comes back to this, if you have issues, please create a minimal reproducible example so that I can replicate and test it here, that way I would be able to help. |
Beta Was this translation helpful? Give feedback.
In case anyone comes back to this, if you have issues, please create a minimal reproducible example so that I can replicate and test it here, that way I would be able to help.