v0.83.0: Traefik scoped insecure-skip-verify serversTransport for self-signed HTTPS backends (fixes crafty 502)

This commit is contained in:
2026-06-26 10:28:58 +02:00
parent 5c08dcfc35
commit 2d6df0f6d5
4 changed files with 91 additions and 0 deletions
+17
View File
@@ -47,9 +47,26 @@ func allRendered(t *testing.T) []string {
out = append(out, RenderFileBrowserCompose("example.com", nil))
out = append(out, RenderFileBrowserCompose("example.com", []string{" - /mnt/hdd_1:/srv/hdd_1"}))
out = append(out, RenderFileBrowserConfig(nil))
out = append(out, RenderServersTransports())
return out
}
func TestServersTransports(t *testing.T) {
s := RenderServersTransports()
// The named transport must be defined under http.serversTransports with insecureSkipVerify, so a
// docker-provider service can reference it as `<name>@file`.
if !strings.Contains(s, "serversTransports:") || !strings.Contains(s, ServersTransportInsecure+":") {
t.Errorf("named serversTransport %q missing:\n%s", ServersTransportInsecure, s)
}
if !strings.Contains(s, "insecureSkipVerify: true") {
t.Errorf("insecureSkipVerify not set on the named transport:\n%s", s)
}
var v any
if err := yaml.Unmarshal([]byte(s), &v); err != nil {
t.Fatalf("serversTransports config is not valid YAML: %v\n%s", err, s)
}
}
func TestNoLatestTagSurvives(t *testing.T) {
for _, c := range []string{TraefikImage, CloudflaredImage, FileBrowserImage} {
if strings.HasSuffix(c, ":latest") || !strings.Contains(c, ":") {