summaryrefslogtreecommitdiff
path: root/internal/router
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2022-05-15 10:10:55 +0100
committerLibravatar GitHub <noreply@github.com>2022-05-15 11:10:55 +0200
commit4ac508f037119e42cc2b4274cfd4bb03fe69bf44 (patch)
treed23491be31b143e8114da4731ab08def77a820e7 /internal/router
parent[bugfix] update syslog tests to listen/connect specifically to ipv4 loopback ... (diff)
downloadgotosocial-4ac508f037119e42cc2b4274cfd4bb03fe69bf44.tar.xz
[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>
Diffstat (limited to 'internal/router')
-rw-r--r--internal/router/router.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/internal/router/router.go b/internal/router/router.go
index dbd39fc99..939624cb7 100644
--- a/internal/router/router.go
+++ b/internal/router/router.go
@@ -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)
}