Get Entrypoints Port Address without protocol for redirect
This commit is contained in:
parent
25b74ce1f3
commit
fae2d93525
3 changed files with 53 additions and 1 deletions
30
pkg/provider/traefik/fixtures/redirection_with_protocol.json
Normal file
30
pkg/provider/traefik/fixtures/redirection_with_protocol.json
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"http": {
|
||||||
|
"routers": {
|
||||||
|
"web-to-websecure": {
|
||||||
|
"entryPoints": [
|
||||||
|
"web"
|
||||||
|
],
|
||||||
|
"middlewares": [
|
||||||
|
"redirect-web-to-websecure"
|
||||||
|
],
|
||||||
|
"service": "noop@internal",
|
||||||
|
"rule": "HostRegexp(`{host:.+}`)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"middlewares": {
|
||||||
|
"redirect-web-to-websecure": {
|
||||||
|
"redirectScheme": {
|
||||||
|
"scheme": "https",
|
||||||
|
"port": "443",
|
||||||
|
"permanent": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"noop": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tcp": {},
|
||||||
|
"tls": {}
|
||||||
|
}
|
|
@ -142,7 +142,7 @@ func (i *Provider) getEntryPointPort(name string, def *static.Redirections) (str
|
||||||
return "", fmt.Errorf("'to' entry point field references a non-existing entry point: %s", def.EntryPoint.To)
|
return "", fmt.Errorf("'to' entry point field references a non-existing entry point: %s", def.EntryPoint.To)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, port, err := net.SplitHostPort(dst.Address)
|
_, port, err := net.SplitHostPort(dst.GetAddress())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("invalid entry point %q address %q: %w",
|
return "", fmt.Errorf("invalid entry point %q address %q: %w",
|
||||||
name, i.staticCfg.EntryPoints[def.EntryPoint.To].Address, err)
|
name, i.staticCfg.EntryPoints[def.EntryPoint.To].Address, err)
|
||||||
|
|
|
@ -232,6 +232,28 @@ func Test_createConfiguration(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
desc: "redirection_with_protocol.json",
|
||||||
|
staticCfg: static.Configuration{
|
||||||
|
EntryPoints: map[string]*static.EntryPoint{
|
||||||
|
"web": {
|
||||||
|
Address: ":80",
|
||||||
|
HTTP: static.HTTPConfig{
|
||||||
|
Redirections: &static.Redirections{
|
||||||
|
EntryPoint: &static.RedirectEntryPoint{
|
||||||
|
To: "websecure",
|
||||||
|
Scheme: "https",
|
||||||
|
Permanent: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"websecure": {
|
||||||
|
Address: ":443/tcp",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range testCases {
|
for _, test := range testCases {
|
||||||
|
|
Loading…
Add table
Reference in a new issue