diff --git a/cmd/server/flags.go b/cmd/server/flags.go index 1fd8416fa..ffacb4223 100644 --- a/cmd/server/flags.go +++ b/cmd/server/flags.go @@ -56,6 +56,12 @@ var flags = []cli.Flag{ Usage: "server address", Value: ":8000", }, + &cli.StringFlag{ + EnvVars: []string{"WOODPECKER_SERVER_ADDR_TLS"}, + Name: "server-addr-tls", + Usage: "port https with tls (:443)", + Value: ":443", + }, &cli.StringFlag{ EnvVars: []string{"WOODPECKER_SERVER_CERT"}, Name: "server-cert", diff --git a/cmd/server/server.go b/cmd/server/server.go index 99fe589ad..46d79058a 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -210,7 +210,7 @@ func run(c *cli.Context) error { // start the server with tls enabled g.Go(func() error { serve := &http.Server{ - Addr: ":https", + Addr: server.Config.Server.PortTLS, Handler: handler, TLSConfig: &tls.Config{ NextProtos: []string{"h2", "http/1.1"}, @@ -236,7 +236,7 @@ func run(c *cli.Context) error { } g.Go(func() error { - return http.ListenAndServe(":http", http.HandlerFunc(redirect)) + return http.ListenAndServe(server.Config.Server.Port, http.HandlerFunc(redirect)) }) } else if c.Bool("lets-encrypt") { // start the server with lets-encrypt @@ -350,6 +350,7 @@ func setupEvilGlobals(c *cli.Context, v store.Store, f forge.Forge) { server.Config.Server.OAuthHost = c.String("server-host") } server.Config.Server.Port = c.String("server-addr") + server.Config.Server.PortTLS = c.String("server-addr-tls") server.Config.Server.Docs = c.String("docs") server.Config.Server.StatusContext = c.String("status-context") server.Config.Server.StatusContextFormat = c.String("status-context-format") diff --git a/docs/docs/30-administration/10-server-config.md b/docs/docs/30-administration/10-server-config.md index 5a15872b9..700ae9f14 100644 --- a/docs/docs/30-administration/10-server-config.md +++ b/docs/docs/30-administration/10-server-config.md @@ -136,6 +136,11 @@ Example: `WOODPECKER_HOST=http://woodpecker.example.org` Configures the HTTP listener port. +### `WOODPECKER_SERVER_ADDR_TLS` +> Default: `:443` + +Configures the HTTPS listener port when SSL is enabled. + ### `WOODPECKER_SERVER_CERT` > Default: empty diff --git a/server/config.go b/server/config.go index 35008c791..d1cd93a93 100644 --- a/server/config.go +++ b/server/config.go @@ -61,6 +61,7 @@ var Config = struct { OAuthHost string Host string Port string + PortTLS string AgentToken string Docs string StatusContext string