diff --git a/caddyhttp/httpserver/plugin.go b/caddyhttp/httpserver/plugin.go index 4101374ed..7a55a180e 100644 --- a/caddyhttp/httpserver/plugin.go +++ b/caddyhttp/httpserver/plugin.go @@ -65,7 +65,7 @@ type httpContext struct { func (h *httpContext) saveConfig(key string, cfg *SiteConfig) { h.siteConfigs = append(h.siteConfigs, cfg) - h.keysToSiteConfigs[key] = cfg + h.keysToSiteConfigs[strings.ToLower(key)] = cfg } // InspectServerBlocks make sure that everything checks out before @@ -171,13 +171,14 @@ func (h *httpContext) MakeServers() ([]caddy.Server, error) { // new, empty one will be created. func GetConfig(c *caddy.Controller) *SiteConfig { ctx := c.Context().(*httpContext) - if cfg, ok := ctx.keysToSiteConfigs[c.Key]; ok { + key := strings.ToLower(c.Key) + if cfg, ok := ctx.keysToSiteConfigs[key]; ok { return cfg } // we should only get here during tests because directive // actions typically skip the server blocks where we make // the configs - ctx.saveConfig(c.Key, &SiteConfig{Root: Root, TLS: new(caddytls.Config)}) + ctx.saveConfig(key, &SiteConfig{Root: Root, TLS: new(caddytls.Config)}) return GetConfig(c) }