Fix models mechanism for default rule syntax
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
This commit is contained in:
parent
536e11d949
commit
2b35c7e205
2 changed files with 12 additions and 11 deletions
|
@ -223,6 +223,12 @@ func (i *Provider) entryPointModels(cfg *dynamic.Configuration) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for name, ep := range i.staticCfg.EntryPoints {
|
for name, ep := range i.staticCfg.EntryPoints {
|
||||||
|
if defaultRuleSyntax != "" {
|
||||||
|
cfg.TCP.Models[name] = &dynamic.TCPModel{
|
||||||
|
DefaultRuleSyntax: defaultRuleSyntax,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if len(ep.HTTP.Middlewares) == 0 && ep.HTTP.TLS == nil && defaultRuleSyntax == "" {
|
if len(ep.HTTP.Middlewares) == 0 && ep.HTTP.TLS == nil && defaultRuleSyntax == "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -242,16 +248,6 @@ func (i *Provider) entryPointModels(cfg *dynamic.Configuration) {
|
||||||
m.DefaultRuleSyntax = defaultRuleSyntax
|
m.DefaultRuleSyntax = defaultRuleSyntax
|
||||||
|
|
||||||
cfg.HTTP.Models[name] = m
|
cfg.HTTP.Models[name] = m
|
||||||
|
|
||||||
if cfg.TCP == nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
mTCP := &dynamic.TCPModel{
|
|
||||||
DefaultRuleSyntax: defaultRuleSyntax,
|
|
||||||
}
|
|
||||||
|
|
||||||
cfg.TCP.Models[name] = mTCP
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"slices"
|
"slices"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/go-acme/lego/v4/challenge/tlsalpn01"
|
"github.com/go-acme/lego/v4/challenge/tlsalpn01"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
@ -156,7 +157,11 @@ func applyModel(cfg dynamic.Configuration) dynamic.Configuration {
|
||||||
router := rt.DeepCopy()
|
router := rt.DeepCopy()
|
||||||
|
|
||||||
if !router.DefaultRule && router.RuleSyntax == "" {
|
if !router.DefaultRule && router.RuleSyntax == "" {
|
||||||
for _, model := range cfg.HTTP.Models {
|
for modelName, model := range cfg.HTTP.Models {
|
||||||
|
// models cannot be provided by another provider than the internal one.
|
||||||
|
if !strings.HasSuffix(modelName, "@internal") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
router.RuleSyntax = model.DefaultRuleSyntax
|
router.RuleSyntax = model.DefaultRuleSyntax
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue