1
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-16 21:56:40 -05: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:
Matt Holt 2024-10-01 20:31:30 -06:00 committed by GitHub
parent 9b4acc2449
commit c8adb1b553
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 6 additions and 2 deletions

View file

@ -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)
} }

View file

@ -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

View file

@ -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 {