Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Wiedler <iwiedler@gitlab.com>2020-05-04 15:30:39 +0300
committerIgor Wiedler <iwiedler@gitlab.com>2020-11-18 12:48:36 +0300
commit481a5bf0c8fbac9c18889341757ee9806d4ebd63 (patch)
tree12e653b8d164ea1a126eaaf189c9609e667b846a /main.go
parent12fa24ee96cb9d971a75df2cacfcbb1e014125e9 (diff)
Support for HTTPS over PROXYv2 protocol
Diffstat (limited to 'main.go')
-rw-r--r--main.go20
1 files changed, 17 insertions, 3 deletions
diff --git a/main.go b/main.go
index 1d397922..7defd281 100644
--- a/main.go
+++ b/main.go
@@ -32,6 +32,7 @@ func init() {
flag.Var(&listenHTTP, "listen-http", "The address(es) to listen on for HTTP requests")
flag.Var(&listenHTTPS, "listen-https", "The address(es) to listen on for HTTPS requests")
flag.Var(&listenProxy, "listen-proxy", "The address(es) to listen on for proxy requests")
+ flag.Var(&ListenHTTPSProxyv2, "listen-https-proxyv2", "The address(es) to listen on for HTTPS PROXYv2 requests (https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)")
flag.Var(&header, "header", "The additional http header(s) that should be send to the client")
}
@@ -78,9 +79,10 @@ var (
disableCrossOriginRequests = flag.Bool("disable-cross-origin-requests", false, "Disable cross-origin requests")
// See init()
- listenHTTP MultiStringFlag
- listenHTTPS MultiStringFlag
- listenProxy MultiStringFlag
+ listenHTTP MultiStringFlag
+ listenHTTPS MultiStringFlag
+ listenProxy MultiStringFlag
+ ListenHTTPSProxyv2 MultiStringFlag
header MultiStringFlag
)
@@ -274,6 +276,7 @@ func loadConfig() appConfig {
"listen-http": strings.Join(listenHTTP, ","),
"listen-https": strings.Join(listenHTTPS, ","),
"listen-proxy": strings.Join(listenProxy, ","),
+ "listen-https-proxyv2": strings.Join(ListenHTTPSProxyv2, ","),
"log-format": *logFormat,
"metrics-address": *metricsAddress,
"pages-domain": *pagesDomain,
@@ -389,6 +392,17 @@ func createAppListeners(config *appConfig) []io.Closer {
config.ListenProxy = append(config.ListenProxy, f.Fd())
}
+ for _, addr := range ListenHTTPSProxyv2.Split() {
+ l, f := createSocket(addr)
+ closers = append(closers, l, f)
+
+ log.WithFields(log.Fields{
+ "listener": addr,
+ }).Debug("Set up https proxyv2 listener")
+
+ config.ListenHTTPSProxyv2 = append(config.ListenHTTPSProxyv2, f.Fd())
+ }
+
return closers
}