[chore] Update LE server to use copy of main http.Server{} to maintain server timeouts etc (#571)

* update LE server to use copy of main HTTP server to maintain server timeouts etc

Signed-off-by: kim <grufwub@gmail.com>

* shutup linter

Signed-off-by: kim <grufwub@gmail.com>
This commit is contained in:
kim 2022-05-15 10:10:55 +01:00 committed by GitHub
parent 9f2a2abe42
commit 4ac508f037
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -91,15 +91,19 @@ func (r *router) Start() {
http.Redirect(rw, r, target, http.StatusTemporaryRedirect)
})
// Start the LetsEncrypt autocert manager HTTP server.
go func() {
addr := fmt.Sprintf("%s:%d",
// Take our own copy of HTTP server
// with updated autocert manager endpoint
srv := (*r.srv) //nolint
srv.Handler = r.certManager.HTTPHandler(redirect)
srv.Addr = fmt.Sprintf("%s:%d",
viper.GetString(keys.BindAddress),
viper.GetInt(keys.LetsEncryptPort),
)
logrus.Infof("letsencrypt listening on %s", addr)
if err := http.ListenAndServe(addr, r.certManager.HTTPHandler(redirect)); err != nil &&
// Start the LetsEncrypt autocert manager HTTP server.
logrus.Infof("letsencrypt listening on %s", srv.Addr)
if err := srv.ListenAndServe(); err != nil &&
err != http.ErrServerClosed {
logrus.Fatalf("letsencrypt: listen: %s", err)
}