mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-31 18:30:56 +08:00 
			
		
		
		
	cmd: Better error handling when reloading (#6601)
* caddyhttp: Limit auto-HTTPS error logs to 100 domains * Improve error message and increase error size limit
This commit is contained in:
		| @ -716,7 +716,7 @@ func AdminAPIRequest(adminAddr, method, uri string, headers http.Header, body io | |||||||
|  |  | ||||||
| 	// if it didn't work, let the user know | 	// if it didn't work, let the user know | ||||||
| 	if resp.StatusCode >= 400 { | 	if resp.StatusCode >= 400 { | ||||||
| 		respBody, err := io.ReadAll(io.LimitReader(resp.Body, 1024*10)) | 		respBody, err := io.ReadAll(io.LimitReader(resp.Body, 1024*1024*2)) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, fmt.Errorf("HTTP %d: reading error message: %v", resp.StatusCode, err) | 			return nil, fmt.Errorf("HTTP %d: reading error message: %v", resp.StatusCode, err) | ||||||
| 		} | 		} | ||||||
|  | |||||||
| @ -732,7 +732,7 @@ func (app *App) automaticHTTPSPhase2() error { | |||||||
| 	) | 	) | ||||||
| 	err := app.tlsApp.Manage(app.allCertDomains) | 	err := app.tlsApp.Manage(app.allCertDomains) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("managing certificates for %v: %s", app.allCertDomains, err) | 		return fmt.Errorf("managing certificates for %d domains: %s", len(app.allCertDomains), err) | ||||||
| 	} | 	} | ||||||
| 	app.allCertDomains = nil // no longer needed; allow GC to deallocate | 	app.allCertDomains = nil // no longer needed; allow GC to deallocate | ||||||
| 	return nil | 	return nil | ||||||
|  | |||||||
| @ -447,6 +447,10 @@ func (t *TLS) Manage(names []string) error { | |||||||
| 	for ap, names := range policyToNames { | 	for ap, names := range policyToNames { | ||||||
| 		err := ap.magic.ManageAsync(t.ctx.Context, names) | 		err := ap.magic.ManageAsync(t.ctx.Context, names) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|  | 			const maxNamesToDisplay = 100 | ||||||
|  | 			if len(names) > maxNamesToDisplay { | ||||||
|  | 				names = append(names[:maxNamesToDisplay], fmt.Sprintf("(%d more...)", len(names)-maxNamesToDisplay)) | ||||||
|  | 			} | ||||||
| 			return fmt.Errorf("automate: manage %v: %v", names, err) | 			return fmt.Errorf("automate: manage %v: %v", names, err) | ||||||
| 		} | 		} | ||||||
| 		for _, name := range names { | 		for _, name := range names { | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user