18700: Fix wb2 section in nginx.conf template.
authorTom Clegg <tom@curii.com>
Fri, 11 Mar 2022 14:37:38 +0000 (09:37 -0500)
committerTom Clegg <tom@curii.com>
Sun, 13 Mar 2022 16:54:37 +0000 (12:54 -0400)
Currently only for production mode.

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/boot/nginx.go
sdk/python/tests/nginx.conf
sdk/python/tests/run_test_server.py

index b90c9b537a472b91ad2d15eacbcb60688380ac8b..f212254d23c48724e9e86dffe3d2171ab8b88994 100644 (file)
@@ -33,12 +33,13 @@ func (runNginx) Run(ctx context.Context, fail func(error), super *Supervisor) er
                return err
        }
        vars := map[string]string{
                return err
        }
        vars := map[string]string{
-               "LISTENHOST": super.ListenHost,
-               "SSLCERT":    filepath.Join(super.tempdir, "server.crt"),
-               "SSLKEY":     filepath.Join(super.tempdir, "server.key"),
-               "ACCESSLOG":  filepath.Join(super.tempdir, "nginx_access.log"),
-               "ERRORLOG":   filepath.Join(super.tempdir, "nginx_error.log"),
-               "TMPDIR":     super.wwwtempdir,
+               "LISTENHOST":       super.ListenHost,
+               "SSLCERT":          filepath.Join(super.tempdir, "server.crt"),
+               "SSLKEY":           filepath.Join(super.tempdir, "server.key"),
+               "ACCESSLOG":        filepath.Join(super.tempdir, "nginx_access.log"),
+               "ERRORLOG":         filepath.Join(super.tempdir, "nginx_error.log"),
+               "TMPDIR":           super.wwwtempdir,
+               "ARVADOS_API_HOST": super.cluster.Services.Controller.ExternalURL.Host,
        }
        u := url.URL(super.cluster.Services.Controller.ExternalURL)
        ctrlHost := u.Hostname()
        }
        u := url.URL(super.cluster.Services.Controller.ExternalURL)
        ctrlHost := u.Hostname()
index 44f8469b0a19d47d0897e5a2255e2832c834537b..bfb1226f7fc24910107df0a3bf3517bc32b6b281 100644 (file)
@@ -163,12 +163,13 @@ http {
     server_name workbench2 workbench2.*;
     ssl_certificate "{{SSLCERT}}";
     ssl_certificate_key "{{SSLKEY}}";
     server_name workbench2 workbench2.*;
     ssl_certificate "{{SSLCERT}}";
     ssl_certificate_key "{{SSLKEY}}";
-    location  / {
-      proxy_pass http://{{LISTENHOST}}:{{WORKBENCH2PORT}};
-      proxy_set_header Host $http_host;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto https;
-      proxy_redirect off;
+    location /config.json {
+      return 200 '{ "API_HOST": "{{ARVADOS_API_HOST}}" }';
+    }
+    location / {
+      root      /var/lib/arvados/workbench2;
+      index     index.html;
+      try_files $uri $uri/ /index.html;
     }
   }
 }
     }
   }
 }
index 9c45a320573ebd64b9743faee0c59db23fa473a2..9f27510f481f2be606f530ebe8cfbc894f4cd82a 100644 (file)
@@ -620,6 +620,7 @@ def run_nginx():
     nginxconf = {}
     nginxconf['LISTENHOST'] = 'localhost'
     nginxconf['CONTROLLERPORT'] = internal_port_from_config("Controller")
     nginxconf = {}
     nginxconf['LISTENHOST'] = 'localhost'
     nginxconf['CONTROLLERPORT'] = internal_port_from_config("Controller")
+    nginxconf['ARVADOS_API_HOST'] = "0.0.0.0:" + str(external_port_from_config("Controller"))
     nginxconf['CONTROLLERSSLPORT'] = external_port_from_config("Controller")
     nginxconf['KEEPWEBPORT'] = internal_port_from_config("WebDAV")
     nginxconf['KEEPWEBDLSSLPORT'] = external_port_from_config("WebDAVDownload")
     nginxconf['CONTROLLERSSLPORT'] = external_port_from_config("Controller")
     nginxconf['KEEPWEBPORT'] = internal_port_from_config("WebDAV")
     nginxconf['KEEPWEBDLSSLPORT'] = external_port_from_config("WebDAVDownload")