mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-30 18:22:49 -04:00 
			
		
		
		
	caddyhttp: Copy logger config to HTTP server during AutoHTTPS (#4990)
This commit is contained in:
		
							parent
							
								
									73d4a8ba02
								
							
						
					
					
						commit
						d062fb4020
					
				| @ -93,6 +93,9 @@ func (app *App) automaticHTTPSPhase1(ctx caddy.Context, repl *caddy.Replacer) er | ||||
| 	// https://github.com/caddyserver/caddy/issues/3443) | ||||
| 	redirDomains := make(map[string][]caddy.NetworkAddress) | ||||
| 
 | ||||
| 	// the configured logger for an HTTPS enabled server | ||||
| 	var logger *ServerLogConfig | ||||
| 
 | ||||
| 	for srvName, srv := range app.Servers { | ||||
| 		// as a prerequisite, provision route matchers; this is | ||||
| 		// required for all routes on all servers, and must be | ||||
| @ -172,6 +175,11 @@ func (app *App) automaticHTTPSPhase1(ctx caddy.Context, repl *caddy.Replacer) er | ||||
| 			continue | ||||
| 		} | ||||
| 
 | ||||
| 		// clone the logger so we can apply it to the HTTP server | ||||
| 		if srv.Logs != nil { | ||||
| 			logger = srv.Logs.clone() | ||||
| 		} | ||||
| 
 | ||||
| 		// for all the hostnames we found, filter them so we have | ||||
| 		// a deduplicated list of names for which to obtain certs | ||||
| 		// (only if cert management not disabled for this server) | ||||
| @ -400,6 +408,7 @@ redirServersLoop: | ||||
| 		app.Servers["remaining_auto_https_redirects"] = &Server{ | ||||
| 			Listen: redirServerAddrsList, | ||||
| 			Routes: appendCatchAll(redirRoutes), | ||||
| 			Logs:   logger, | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -663,6 +663,19 @@ func (slc ServerLogConfig) getLoggerName(host string) string { | ||||
| 	return slc.DefaultLoggerName | ||||
| } | ||||
| 
 | ||||
| func (slc *ServerLogConfig) clone() *ServerLogConfig { | ||||
| 	clone := &ServerLogConfig{} | ||||
| 	clone.DefaultLoggerName = slc.DefaultLoggerName | ||||
| 	clone.LoggerNames = make(map[string]string) | ||||
| 	for k, v := range slc.LoggerNames { | ||||
| 		clone.LoggerNames[k] = v | ||||
| 	} | ||||
| 	clone.SkipHosts = append(clone.SkipHosts, slc.SkipHosts...) | ||||
| 	clone.SkipUnmappedHosts = slc.SkipUnmappedHosts | ||||
| 	clone.ShouldLogCredentials = slc.ShouldLogCredentials | ||||
| 	return clone | ||||
| } | ||||
| 
 | ||||
| // PrepareRequest fills the request r for use in a Caddy HTTP handler chain. w and s can | ||||
| // be nil, but the handlers will lose response placeholders and access to the server. | ||||
| func PrepareRequest(r *http.Request, repl *caddy.Replacer, w http.ResponseWriter, s *Server) *http.Request { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user