18700: Fix URL handling when controller external url is :443.
authorTom Clegg <tom@curii.com>
Wed, 9 Mar 2022 07:39:26 +0000 (02:39 -0500)
committerTom Clegg <tom@curii.com>
Wed, 9 Mar 2022 07:39:26 +0000 (02:39 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/boot/nginx.go
lib/boot/supervisor.go

index 44bcbc395432e6ba328adfc9090212acd5ed58cd..b90c9b537a472b91ad2d15eacbcb60688380ac8b 100644 (file)
@@ -40,10 +40,8 @@ func (runNginx) Run(ctx context.Context, fail func(error), super *Supervisor) er
                "ERRORLOG":   filepath.Join(super.tempdir, "nginx_error.log"),
                "TMPDIR":     super.wwwtempdir,
        }
-       ctrlHost, _, err := net.SplitHostPort(super.cluster.Services.Controller.ExternalURL.Host)
-       if err != nil {
-               return fmt.Errorf("SplitHostPort(Controller.ExternalURL.Host): %w", err)
-       }
+       u := url.URL(super.cluster.Services.Controller.ExternalURL)
+       ctrlHost := u.Hostname()
        if f, err := os.Open("/var/lib/acme/live/" + ctrlHost + "/privkey"); err == nil {
                f.Close()
                vars["SSLCERT"] = "/var/lib/acme/live/" + ctrlHost + "/cert"
index 0905fd44a31a9029346b3843b2bc1f0d4694b6e3..00e981afc51da348c3fb2ce4458dd757484cc625 100644 (file)
@@ -669,10 +669,8 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
                }
                cluster.Services.Controller.ExternalURL = arvados.URL{Scheme: "https", Host: net.JoinHostPort(h, p), Path: "/"}
        }
-       defaultExtHost, _, err := net.SplitHostPort(cluster.Services.Controller.ExternalURL.Host)
-       if err != nil {
-               return fmt.Errorf("SplitHostPort(Controller.ExternalURL.Host): %w", err)
-       }
+       u := url.URL(cluster.Services.Controller.ExternalURL)
+       defaultExtHost := u.Hostname()
        for _, svc := range []*arvados.Service{
                &cluster.Services.Controller,
                &cluster.Services.DispatchCloud,