IPv6: Support host address configured with enclosing square brackets (#31226)

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
Arve Knudsen 2021-02-15 17:55:41 +01:00 committed by GitHub
parent d56c5285e2
commit d27a72f859
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import (
"os"
"path"
"path/filepath"
"strings"
"sync"
"github.com/grafana/grafana/pkg/services/live"
@ -103,8 +104,10 @@ func (hs *HTTPServer) Run(ctx context.Context) error {
hs.applyRoutes()
// Remove any square brackets enclosing IPv6 addresses, a format we support for backwards compatibility
host := strings.TrimSuffix(strings.TrimPrefix(setting.HttpAddr, "["), "]")
hs.httpSrv = &http.Server{
Addr: net.JoinHostPort(setting.HttpAddr, setting.HttpPort),
Addr: net.JoinHostPort(host, setting.HttpPort),
Handler: hs.macaron,
}
switch hs.Cfg.Protocol {

View File

@ -114,6 +114,8 @@ func (server *Server) Dial() error {
}
}
for _, host := range strings.Split(server.Config.Host, " ") {
// Remove any square brackets enclosing IPv6 addresses, a format we support for backwards compatibility
host = strings.TrimSuffix(strings.TrimPrefix(host, "["), "]")
address := net.JoinHostPort(host, strconv.Itoa(server.Config.Port))
if server.Config.UseSSL {
tlsCfg := &tls.Config{