Explicitly define timeouts for http and https

main
Jan Dittberner 4 years ago
parent bf67dfbc10
commit 594df29dc1

@ -846,8 +846,12 @@ func main() {
defer stopAll() defer stopAll()
server := &http.Server{ server := &http.Server{
Addr: config.HttpsAddress, Addr: config.HttpsAddress,
TLSConfig: tlsConfig, TLSConfig: tlsConfig,
IdleTimeout: time.Second * 120,
ReadHeaderTimeout: time.Second * 10,
ReadTimeout: time.Second * 20,
WriteTimeout: time.Second * 60,
} }
server.Handler = csrf.Protect(csrfKey)(http.DefaultServeMux) server.Handler = csrf.Protect(csrfKey)(http.DefaultServeMux)
@ -856,7 +860,15 @@ func main() {
errs := make(chan error, 1) errs := make(chan error, 1)
go func() { go func() {
if err := http.ListenAndServe(config.HttpsAddress, http.RedirectHandler(config.BaseURL, http.StatusMovedPermanently)); err != nil { httpRedirector := &http.Server{
Addr: config.HttpAddress,
Handler: http.RedirectHandler(config.BaseURL, http.StatusMovedPermanently),
IdleTimeout: time.Second * 5,
ReadHeaderTimeout: time.Second * 10,
ReadTimeout: time.Second * 10,
WriteTimeout: time.Second * 60,
}
if err := httpRedirector.ListenAndServe(); err != nil {
errs <- err errs <- err
} }
close(errs) close(errs)

Loading…
Cancel
Save