feat: add proxy protocol support

This can be useful when the pages-server is running behing a proxy, to
keep track of the originating ip.
This commit is contained in:
Julien Malka 2024-10-14 01:42:19 +02:00 committed by Gusted
parent 168bc9047b
commit b1def1db75
6 changed files with 29 additions and 3 deletions

View file

@ -10,6 +10,7 @@ import (
"strings"
"time"
"github.com/pires/go-proxyproto"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
@ -95,6 +96,9 @@ func Serve(ctx *cli.Context) error {
return fmt.Errorf("couldn't create listener: %v", err)
}
if cfg.Server.UseProxyProtocol {
listener = &proxyproto.Listener{Listener: listener}
}
// Setup listener for SSL connections
listener = tls.NewListener(listener, certificates.TLSConfig(
cfg.Server.MainDomain,