From ab487e506e020d0ce2e0c7ac061e143d70afa35e Mon Sep 17 00:00:00 2001
From: Fawzi Mohamed <fawzi.mohamed@fhi-berlin.mpg.de>
Date: Thu, 22 Nov 2018 00:24:43 +0100
Subject: [PATCH] fixes for production frontend

---
 README.md                                     |   4 +
 config/labtest-nomad.yaml                     |  26 +-
 nginx-labtest-nomad.conf                      | 516 ++++++++---------
 ...mad.conf2 => nginx-labtest-nomad.conf.orig | 520 ++++++++++--------
 nginx.conf.in                                 |  30 +-
 5 files changed, 548 insertions(+), 548 deletions(-)
 rename nginx-labtest-nomad.conf2 => nginx-labtest-nomad.conf.orig (50%)

diff --git a/README.md b/README.md
index 3484f47..7520201 100644
--- a/README.md
+++ b/README.md
@@ -27,3 +27,7 @@ if only that changed, otherwise on has also to create the secrets and analytics
 A serviceDump has to be run to reexport the ports to the frontend, then the frontend setup needs to be updated.
 
 docker run -ti -v $PWD:/frontend -v /nomad/nomadlab/servers/labdev-nomad/analytics/beaker:/usr/src/app -w /usr/src/app -v /nomad/nomadlab/servers/services-info:/services-info --rm node:carbon bash -c 'npm install; node app.js templateEvaluer --replacements /services-info/labtest-nomad.services.yaml --template /frontend/nginx.conf.in --out-file /frontend/nginx-labtest-nomad.conf2'docker run -ti -v /u/fawzi/nomad-lab-base/deploy/frontend:/frontend -v /nomad/nomadlab/servers/labdev-nomad/analytics/beaker:/usr/src/app -w /usr/src/app -v /nomad/nomadlab/servers/services-info:/services-info --rm node:carbon bash -c 'npm install; node app.js templateEvaluer --replacements /services-info/labtest-nomad.services.yaml --replacements /frontend/config/labtest-nomad.yaml --template /frontend/nginx.conf.in --out-file /frontend/nginx-labtest-nomad.conf2'
+
+docker run -ti -v $PWD:/frontend -v /nomad/nomadlab/servers/labdev-nomad/analytics/beaker:/usr/src/app -w /usr/src/app -v /nomad/nomadlab/servers/services-info:/services-info --rm node:carbon bash -c 'npm install; node app.js templateEvaluer --replacements /services-info/labtest-nomad.services.yaml --replacements /frontend/config/labtest-nomad.yaml --template /frontend/nginx.conf.in --out-file /frontend/nginx-labtest-nomad.conf'
+
+docker run -d   --restart=unless-stopped   -v /root/certs:/certs:ro   -v /nomad/nomadlab/servers/labtest-nomad/web-certs:/web-certs:ro   -v /nomad/nomadlab/servers/labtest-nomad/frontend-nginx/nginx-labtest-nomad.conf:/etc/nginx/nginx.conf:ro   -v /nomad/nomadlab/servers/labtest-nomad/frontend-nginx/www-root:/usr/share/nginx/html:ro   -v /nomad/nomadlab/servers/labtest-nomad/frontend-nginx/client_temp:/etc/nginx/client_temp   -p 80:80 -p 443:443 -p 5509:5509 --name frontendNginx nginx
diff --git a/config/labtest-nomad.yaml b/config/labtest-nomad.yaml
index 3b48911..f3288c2 100644
--- a/config/labtest-nomad.yaml
+++ b/config/labtest-nomad.yaml
@@ -1,22 +1,22 @@
 ---
 frontend:
   - server_name: analytics-toolkit.nomad-coe.eu
-    ssl_certificate: /web-certs/cert.pem
+    ssl_certificate: /web-certs/cert-chain.pem
     ssl_certificate_key: /web-certs/key.pem
     shortcuts: true
     other_servers: |
-      server {
-        listen         80;
-        server_name    labtest-nomad.esc.rzg.mpg.de;
-        return         301 https://analytics-toolkit.nomad-coe.eu$request_uri;
-      }
-      server {
-        listen              443 ssl;
-        server_name         labtest-nomad.esc.rzg.mpg.de;
-        ssl_certificate     /certs/cert-8701391933287641330712620431.pem;
-        ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
-        return              301 https://analytics-toolkit.nomad-coe.eu$request_uri;
-      }
+      # server {
+      #   listen         80;
+      #   server_name    labtest-nomad.esc.rzg.mpg.de;
+      #   return         301 https://analytics-toolkit.nomad-coe.eu$request_uri;
+      # }
+      # server {
+      #   listen              443 ssl;
+      #   server_name         labtest-nomad.esc.rzg.mpg.de;
+      #   ssl_certificate     /certs/cert-8701391933287641330712620431.pem;
+      #   ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
+      #   return              301 https://analytics-toolkit.nomad-coe.eu$request_uri;
+      # }
 
 industry-project-imeall:
   - nodes:
diff --git a/nginx-labtest-nomad.conf b/nginx-labtest-nomad.conf
index df47927..b55c14e 100644
--- a/nginx-labtest-nomad.conf
+++ b/nginx-labtest-nomad.conf
@@ -13,6 +13,7 @@ http {
     include       /etc/nginx/mime.types;
     default_type  application/octet-stream;
     server_names_hash_bucket_size  64;
+
     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';
@@ -42,19 +43,19 @@ http {
   uwsgi_temp_path         "client_temp";
   scgi_temp_path          "client_temp";
 
-  server {
-    listen         80;
-    server_name    labtest-nomad.esc.rzg.mpg.de;
-    return         301 https://$server_name$request_uri;
-  }
+# server {
+#   listen         80;
+#   server_name    labtest-nomad.esc.rzg.mpg.de;
+#   return         301 https://analytics-toolkit.nomad-coe.eu$request_uri;
+# }
+# server {
+#   listen              443 ssl;
+#   server_name         labtest-nomad.esc.rzg.mpg.de;
+#   ssl_certificate     /certs/cert-8701391933287641330712620431.pem;
+#   ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
+#   return              301 https://analytics-toolkit.nomad-coe.eu$request_uri;
+# }
 
-  server {
-    listen              443 ssl;
-    server_name         labtest-nomad.esc.rzg.mpg.de;
-    ssl_certificate     /certs/cert-8701391933287641330712620431.pem;
-    ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
-    return              301 https://analytics-toolkit.nomad-coe.eu/$request_uri;
-  } 
 
   server {
     listen         80;
@@ -68,184 +69,114 @@ http {
     # enable requests for specific instances in multi-user environments
     # where a request could be routed to one of many server instances
     # /beaker/<uuid>/foo -> /foo
-    rewrite "^/beaker/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/(.*)$" /b7c81a9/$1 last;
 
-#    listen 0.0.0.0:80 ssl;
-    listen              5509 ssl;
-    server_name         analytics-toolkit.nomad-coe.eu;
-    #server_name         7741588557007104
-    ssl_certificate     /etc/certs/nomad-coe.eu.chain.pem;
-    ssl_certificate_key /etc/certs/nomad-coe.eu.key.pem;
+    listen 0.0.0.0:443 ssl;
+    ssl_certificate     /web-certs/cert-chain.pem;
+    ssl_certificate_key /web-certs/key.pem;
     #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
     #ssl_ciphers         HIGH:!aNULL:!MD5;
-
-    # allow large uploads of files
-    client_max_body_size 3000m; #1G;
-  
-    location / {
-      #proxy_http_version 1.1;
-      # optimize downloading files larger than 1G
-      proxy_max_temp_file_size 3000m;
-      proxy_buffering off;
-      chunked_transfer_encoding on;
-      proxy_request_buffering off;
-      proxy_pass http://nomad-toolkit-prod2.esc.rzg.mpg.de:30170;
-      proxy_set_header Host $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto "https";
-    }
-  }
-
-  server {
-    autoindex off;
-
-    # enable requests for specific instances in multi-user environments
-    # where a request could be routed to one of many server instances
-    # /beaker/<uuid>/foo -> /foo
-    rewrite "^/beaker/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/(.*)$" /b7c81a9/$1 last;
-
-#    listen 0.0.0.0:80 ssl;
-    listen              443 ssl;
     server_name         analytics-toolkit.nomad-coe.eu;
-    #server_name         7741588557007104
-    ssl_certificate     /etc/certs/nomad-coe.eu.chain.pem;
-    ssl_certificate_key /etc/certs/nomad-coe.eu.key.pem;
-    #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
-    #ssl_ciphers         HIGH:!aNULL:!MD5;
-
-    # allow large uploads of files
-    client_max_body_size 1G;
-  
-    # optimize downloading files larger than 1G
-    #proxy_max_temp_file_size 2G;
 
     # redirect server error pages to the static page /50x.html and serve them directly from static html directory
     error_page   500 502 503 504  /static/50x.html;
 
-    location /personal/ {
-      alias "/usr/share/nginx/html/personal/";
-      try_files $uri $uri/ /personal/index.html;
+    # redirect to the starting page
+    location = / {
+      return 301 $scheme://$http_host/home/;
     }
 
-    # login and loginrest are used for the public server option
-    location = /login {
-      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
-#      proxy_set_header Origin https://130.183.207.113:31548;
-      proxy_set_header Origin "https://130.183.207.103:8801";
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    location = /robots.txt {
+      alias "/usr/share/nginx/html/static/robots.txt";
     }
 
-    location /stats {
-      proxy_pass http://130.183.207.112:31393;
-#      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:30403;
-#      proxy_pass http://130.183.207.103:3838;
-    }    
-
-    location /stats-meta {
-      proxy_pass http://130.183.207.103:3838;
-    }    
-
-
-    location = /Shibboleth.sso {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    location /static/ {
+      alias "/usr/share/nginx/html/static/";
     }
 
-    location /Shibboleth.sso/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    location /archive-browser/ {
+      alias "/usr/share/nginx/html/archive-browser/";
     }
-
-    location = /shibboleth {
-#       proxy_pass https://130.183.207.113:31548;
-     proxy_pass https://130.183.207.103:8801;
+   
+    location /home/ {
+      alias "/usr/share/nginx/html/home/";
     }
 
-    location /shibboleth/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    location = /stats/archiveGlobalStats/static {
+      return 301 $scheme://$server_name/static/archiveGlobalStats.html;
     }
 
-    location /login/ {
-      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
-#      proxy_set_header Origin "https://130.183.207.113:31548";
-      proxy_set_header Origin "https://130.183.207.103:8801";
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    location /analytics/springer {
+      alias "/usr/share/nginx/html/analytics/springer";
     }
 
-    # version get request
-    location /notebook-edit/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    location /userapi/demos {
+      index index.json;
+      alias "/usr/share/nginx/html/userapi/demos";
     }
 
-    location /userapi/ {
-      proxy_pass https://130.183.207.103:8802;
+    location /.well-known/ {
+      alias "/usr/share/nginx/html/.well-known/";
     }
-
-    location /api/ {
-      proxy_pass http://nomad-flink-01.esc.rzg.mpg.de:30050;
-#      proxy_pass http://labdev4-nomad.esc.rzg.mpg.de:32728;
-#      proxy_pass http://130.183.207.112:31393;
-#      proxy_pass http://130.183.207.100:31235;
+    location /nexus/ {
+      proxy_pass http://130.183.207.113:31629;
+      proxy_set_header Host $host;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+      proxy_set_header X-Forwarded-Proto "https";
     }
 
-    location /analytics/ {
-      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32187;
+
+    location /personal/ {
+      #proxy_pass http://130.183.207.77:8888;
+      alias "/usr/share/nginx/html/personal/";
+      try_files $uri $uri/ /personal/index.html;
     }
 
-#    location /archive/nql-api/simple_stats {
-#      proxy_pass http://130.183.207.112:31596;
-#    }
+
+
 
     location /archive/ {
-#      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:31263;
-#      proxy_pass http://130.183.207.112:30889;
-      proxy_pass http://130.183.207.112:31596;
+      proxy_pass http://130.183.207.113:31596;
     }
 
-    location /ui/ {
-      proxy_pass http://nomad-flink-01.esc.rzg.mpg.de:30050;
-#      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
-#      proxy_pass http://130.183.207.112:31393;
+    location /dev/ {
+      proxy_pass http://130.183.207.113:31596;
     }
 
-    location /nmi/ {
-      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
-#      proxy_pass http://130.183.207.112:31393;
+
+    location /stats/ {
+      proxy_pass http://130.183.207.113:31393;
     }
 
+    location /apitest/ {
+      proxy_pass http://130.183.207.113:31393;
+    }
 
-#Add jupyter notebooks
     location /jupyter/ {
-      proxy_set_header Host labtest-nomad.esc.rzg.mpg.de;
-      #proxy_pass https://labtest-nomad.esc.rzg.mpg.de:8807;
-      proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
-      proxy_set_header Host $host;
+      proxy_pass https://130.183.207.113:32141;
+      proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto "https";
-      #proxy_redirect off;
-      #proxy_buffering off;
-      #proxy_set_header Upgrade $http_upgrade;
-      #proxy_set_header Connection "Upgrade";
-      #proxy_read_timeout 86400;
-      #proxy_http_version 1.1;
+      proxy_redirect off;
+      proxy_buffering off;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "Upgrade";
+      proxy_read_timeout 86400;
+      proxy_http_version 1.1;
     }
 
     location = /jupyter {
-      proxy_set_header Host labtest-nomad.esc.rzg.mpg.de;
-      proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
-      #proxy_pass https://labtest-nomad.esc.rzg.mpg.de:8807;
+      proxy_pass https://130.183.207.113:32141;
+      proxy_set_header Host $host;
+      proxy_set_header Origin https://130.183.207.113:32141;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+      proxy_set_header X-Forwarded-Proto "https";
     }
 
-
-    location ~ /jupyter/api/kernels/ {
-        proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
-#        proxy_pass            https://labtest-nomad.esc.rzg.mpg.de:8807;
+    location ~ "^/jupyter/api/kernels/" {
+        proxy_pass https://130.183.207.113:32141;
         proxy_set_header      Host $host;
         # websocket support
         proxy_http_version    1.1;
@@ -256,156 +187,198 @@ http {
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto "https";
     }
-    location ~ /jupyter/terminals/ {
-        proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
-        #proxy_pass            https://labtest-nomad.esc.rzg.mpg.de:8807;
+    location ~ "^/jupyter/terminals/" {
+        proxy_pass https://130.183.207.113:32141;
         proxy_set_header      Host $host;
         # websocket support
         proxy_http_version    1.1;
-        proxy_set_header      Upgrade "WebSocket";
+        proxy_set_header Upgrade "WebSocket";
         proxy_set_header      Connection "Upgrade";
         proxy_read_timeout    86400;
-	proxy_set_header X-Real-IP $remote_addr;
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header X-Forwarded-Proto "https";
-        #proxy_set_header X-NginX-Proxy true;
+	#proxy_set_header X-Real-IP $remote_addr;
+        #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        #proxy_set_header X-Forwarded-Proto "https";
+    }
+
+    location /industry-project-imeall/ {
+      proxy_pass http://labdev-nomad.esc.rzg.mpg.de:34695;
     }
-###
 
+    location = /industry-project-imeall {
+      proxy_pass http://labdev-nomad.esc.rzg.mpg.de:34695;
+    }
 
 
+    rewrite "^/notebook-edit/(.*)$" /beaker/cM/start/$1 last;
 
+    location = /Shibboleth.sso {
+      proxy_pass https://130.183.207.113:31548;
+    }
 
+    location /Shibboleth.sso/ {
+      proxy_pass https://130.183.207.113:31548;
+    }
 
-    # redirect to the starting page
-    location = / {
-      return 301 $scheme://$http_host/home/;
+    location = /shibboleth {
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location = /beaker/#/control {
-      return 301 $scheme://$http_host/home/;
+    location /shibboleth/ {
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location /nexus/ {
-      proxy_pass http://nomad-toolkit-prod2.esc.rzg.mpg.de:31629;
-      proxy_buffering off;
-      proxy_set_header Host $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto "https";
+    location = /login {
+      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
+      proxy_set_header Origin https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.113:31548;
+    }
+
+    location /login/ {
+      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
+      proxy_set_header Origin https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location = /Creedo {
-      return 301 $scheme://$http_host/Creedo/;
+    #location = /beaker/#/control {
+    #  return 301 $scheme://$http_host/home;
+    #}
+
+    location = /beaker {
+      return 301 $scheme://$http_host/beaker/;
     }
 
-    location /Creedo/ {
-      proxy_pass https://130.183.207.103:8805;
+    location /beaker/ {
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location = /zeppelin {
-      return 301 $scheme://$http_host/zeppelin/;
+    # version get request
+    location = /version {
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location /zeppelin/ {
-      proxy_pass http://130.183.207.103:8811;
+    # version get request
+    location /notebook-edit/ {
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location /zeppelin/ws {
-      proxy_pass http://130.183.207.103:8811;
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/rest/util/version" {
+      proxy_pass https://130.183.207.113:31548;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       add_header Access-Control-Allow-Origin *;
     }
 
-    location = /beaker {
-      return 301 $scheme://$http_host/beaker/;
+    # forward websockets, auth using path instead of token
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/cometd-[a-z0-9]+/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_http_version 1.1; 
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
     }
 
-    location /static/ {
-      alias "/usr/share/nginx/html/static/";
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/r.[0-9]+/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
     }
 
-    location /archive-browser/ {
-      try_files $uri /archive-browser/index.html;
-      alias "/usr/share/nginx/html/archive-browser/";
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/ipython.[0-9]+/api/kernels/[0-9a-z-]+/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      proxy_set_header Host 127.0.0.1:8804;
+      proxy_set_header Origin "http://127.0.0.1:8804";
     }
 
-    location /analytics/springer {
-      alias "/usr/share/nginx/html/analytics/springer";
-    }
-   
-    location /userapi/demos {
-      index index.json;
-      alias "/usr/share/nginx/html/userapi/demos";
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/ipython.[0-9]+/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      proxy_set_header Host 127.0.0.1:8804;
+      proxy_set_header Origin "http://127.0.0.1:8804";
     }
 
-    location /home/ {
-      alias "/usr/share/nginx/html/home/";
+     location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/python3.[0-9]+/api/kernels/[0-9a-z-]+/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      proxy_set_header Host 127.0.0.1:8805;
+      proxy_set_header Origin "http://127.0.0.1:8805";
     }
 
-    location /.well-known/ {
-      alias "/usr/share/nginx/html/.well-known/";
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/python3.[0-9]+/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_set_header Origin "http://127.0.0.1:8805";
+    } 
+
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/" {
+      proxy_pass https://130.183.207.113:31548;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
     }
 
-    location = /robots.txt {
-      alias "/usr/share/nginx/html/static/robots.txt";
+    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/" {
+      proxy_pass https://130.183.207.113:31548;
     }
 
-    location = /beaker/ {
-      #auth_basic           "closed site";
-      #auth_basic_user_file /etc/nginx/htpasswd;
-      #proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+    # user directory
+    location /user/ {
+      proxy_pass https://130.183.207.113:31548;
     }
 
+
     location = /nomad-query-gui {
       return 302 https://$server_name/notebook-edit/data/shared/sommerregen/nomad-query/nomad-query.bkr;
     }
 
-    location = /tutorial-LASSO-L0 {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
-    }	
-
-    location = /tutorial-metal-nonmetal {
+   location = /tutorial-metal-nonmetal {
       return 302 https://$server_name/notebook-edit/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr;
-    }	
+    }
+
+    location = /tutorial-LASSO-L0 {
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
+    }
 
     location = /tutorial-LASSO_L0 {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
     }
 
     location = /tutorial-embedding {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/Embedding.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/Embedding.bkr;
     }
 
     location = /tutorial-SGD {
-      return 302 https://$server_name/Creedo;
+      return 302 $scheme://$server_name/Creedo;
     }
 
     location = /tutorial-glosim {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/SOAP_similarity.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/SOAP_similarity.bkr;
     }
 
     location = /tutorial-krr {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/brprototype3.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/brprototype3.bkr;
     }
-    
+
     location = /tutorial-query {
-      return 302 https://$server_name/notebook-edit/data/shared/notebooks/query_example_v1_1.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/notebooks/query_example_v1_1.bkr;
     }
-   
+
     location = /tutorial-SIS {
       return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
     }
-
+    
     location = /tutorial-SIS-L0 {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
     }
 
     location = /tutorial-SIS_L0 {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
+      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
     }
 
     location = /tutorial-sisso-metal-non-metal {
@@ -439,8 +412,7 @@ http {
     location = /tutorial-periodic-table  {
       return 302 https://$server_name/notebook-edit/data/shared/tutorials/periodic-table.bkr;
     }
-
-    location = /hands-on-cs  {
+        location = /hands-on-cs  {
       return 302 https://$server_name/notebook-edit/data/shared/emrea/hands-on-tutorial_CS.bkr;
     }
 
@@ -452,88 +424,32 @@ http {
       return 302 https://$server_name/notebook-edit/data/shared/tutorialsNew/custom-analytics-example/custom-analytics-example.bkr;
     }
 
-    # version get request
-    location = /version {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-    }
-
-    location /b7c81a9/beaker/rest/util/version {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-      add_header Access-Control-Allow-Origin *;
-    }
-
-    # forward websockets, auth using path instead of token
-    location ~ /b7c81a9/beaker/cometd-[a-z0-9]+/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_http_version 1.1; 
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-    }
-
-    location ~ /b7c81a9/r.[0-9]+/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-    }
-
-    location ~ /b7c81a9/ipython.[0-9]+/api/kernels/[0-9a-f-]+/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-      proxy_set_header Host 127.0.0.1:8804;
-      proxy_set_header Origin "http://127.0.0.1:8804";
-    }
-
-    location ~ /b7c81a9/ipython.[0-9]+/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_set_header Origin "http://127.0.0.1:8804";
-    }
-
-     location ~ /b7c81a9/python3.[0-9]+/api/kernels/[0-9a-f-]+/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-      proxy_set_header Host 127.0.0.1:8805;
-      proxy_set_header Origin "http://127.0.0.1:8805";
-    }
-
-    location ~ /b7c81a9/python3.[0-9]+/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_set_header Origin "http://127.0.0.1:8805";
-    } 
-
-    location /b7c81a9/beaker/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-    }
-
-    location /b7c81a9/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
-    }
+  }
 
-    # user directory
-    location /user/ {
-#      proxy_pass https://130.183.207.113:31548;
-      proxy_pass https://130.183.207.103:8801;
+  server {
+  # nexus docker registry
+      autoindex off;
+ 
+    listen              5509 ssl;
+    server_name         analytics-toolkit.nomad-coe.eu;
+    ssl_certificate     /web-certs/cert-chain.pem;
+    ssl_certificate_key /web-certs/key.pem;
+    #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
+    #ssl_ciphers         HIGH:!aNULL:!MD5;
+  
+    # allow large uploads of files
+    client_max_body_size 1G;
+  
+    # optimize downloading files larger than 1G
+    #proxy_max_temp_file_size 2G;
+  
+    location / {
+      proxy_pass http://130.183.207.113:30170;
+      proxy_set_header Host $host;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+      proxy_set_header X-Forwarded-Proto "https";
     }
-
   }
 }
+
diff --git a/nginx-labtest-nomad.conf2 b/nginx-labtest-nomad.conf.orig
similarity index 50%
rename from nginx-labtest-nomad.conf2
rename to nginx-labtest-nomad.conf.orig
index dbd8e00..df47927 100644
--- a/nginx-labtest-nomad.conf2
+++ b/nginx-labtest-nomad.conf.orig
@@ -13,7 +13,6 @@ http {
     include       /etc/nginx/mime.types;
     default_type  application/octet-stream;
     server_names_hash_bucket_size  64;
-
     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';
@@ -43,19 +42,19 @@ http {
   uwsgi_temp_path         "client_temp";
   scgi_temp_path          "client_temp";
 
-server {
-  listen         80;
-  server_name    labtest-nomad.esc.rzg.mpg.de;
-  return         301 https://analytics-toolkit.nomad-coe.eu$request_uri;
-}
-server {
-  listen              443 ssl;
-  server_name         labtest-nomad.esc.rzg.mpg.de;
-  ssl_certificate     /certs/cert-8701391933287641330712620431.pem;
-  ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
-  return              301 https://analytics-toolkit.nomad-coe.eu$request_uri;
-}
+  server {
+    listen         80;
+    server_name    labtest-nomad.esc.rzg.mpg.de;
+    return         301 https://$server_name$request_uri;
+  }
 
+  server {
+    listen              443 ssl;
+    server_name         labtest-nomad.esc.rzg.mpg.de;
+    ssl_certificate     /certs/cert-8701391933287641330712620431.pem;
+    ssl_certificate_key /certs/labtest-nomad.esc.rzg.mpg.de.key;
+    return              301 https://analytics-toolkit.nomad-coe.eu/$request_uri;
+  } 
 
   server {
     listen         80;
@@ -69,130 +68,184 @@ server {
     # enable requests for specific instances in multi-user environments
     # where a request could be routed to one of many server instances
     # /beaker/<uuid>/foo -> /foo
+    rewrite "^/beaker/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/(.*)$" /b7c81a9/$1 last;
 
-    listen 0.0.0.0:443 ssl;
-    ssl_certificate     /web-certs/cert.pem;
-    ssl_certificate_key /web-certs/key.pem;
+#    listen 0.0.0.0:80 ssl;
+    listen              5509 ssl;
+    server_name         analytics-toolkit.nomad-coe.eu;
+    #server_name         7741588557007104
+    ssl_certificate     /etc/certs/nomad-coe.eu.chain.pem;
+    ssl_certificate_key /etc/certs/nomad-coe.eu.key.pem;
     #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
     #ssl_ciphers         HIGH:!aNULL:!MD5;
-    server_name         labdev-nomad.esc.rzg.mpg.de;
+
+    # allow large uploads of files
+    client_max_body_size 3000m; #1G;
+  
+    location / {
+      #proxy_http_version 1.1;
+      # optimize downloading files larger than 1G
+      proxy_max_temp_file_size 3000m;
+      proxy_buffering off;
+      chunked_transfer_encoding on;
+      proxy_request_buffering off;
+      proxy_pass http://nomad-toolkit-prod2.esc.rzg.mpg.de:30170;
+      proxy_set_header Host $host;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+      proxy_set_header X-Forwarded-Proto "https";
+    }
+  }
+
+  server {
+    autoindex off;
+
+    # enable requests for specific instances in multi-user environments
+    # where a request could be routed to one of many server instances
+    # /beaker/<uuid>/foo -> /foo
+    rewrite "^/beaker/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/(.*)$" /b7c81a9/$1 last;
+
+#    listen 0.0.0.0:80 ssl;
+    listen              443 ssl;
+    server_name         analytics-toolkit.nomad-coe.eu;
+    #server_name         7741588557007104
+    ssl_certificate     /etc/certs/nomad-coe.eu.chain.pem;
+    ssl_certificate_key /etc/certs/nomad-coe.eu.key.pem;
+    #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
+    #ssl_ciphers         HIGH:!aNULL:!MD5;
+
+    # allow large uploads of files
+    client_max_body_size 1G;
+  
+    # optimize downloading files larger than 1G
+    #proxy_max_temp_file_size 2G;
 
     # redirect server error pages to the static page /50x.html and serve them directly from static html directory
     error_page   500 502 503 504  /static/50x.html;
 
-    # redirect to the starting page
-    location = / {
-      return 301 $scheme://$http_host/home/;
+    location /personal/ {
+      alias "/usr/share/nginx/html/personal/";
+      try_files $uri $uri/ /personal/index.html;
     }
 
-    location = /robots.txt {
-      alias "/usr/share/nginx/html/static/robots.txt";
+    # login and loginrest are used for the public server option
+    location = /login {
+      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
+#      proxy_set_header Origin https://130.183.207.113:31548;
+      proxy_set_header Origin "https://130.183.207.103:8801";
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
     }
 
-    location /static/ {
-      alias "/usr/share/nginx/html/static/";
-    }
+    location /stats {
+      proxy_pass http://130.183.207.112:31393;
+#      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:30403;
+#      proxy_pass http://130.183.207.103:3838;
+    }    
 
-    location /archive-browser/ {
-      alias "/usr/share/nginx/html/archive-browser/";
-    }
-   
-    location /home/ {
-      alias "/usr/share/nginx/html/home/";
-    }
+    location /stats-meta {
+      proxy_pass http://130.183.207.103:3838;
+    }    
 
-    location = /stats/archiveGlobalStats/static {
-      return 301 $scheme://$server_name/static/archiveGlobalStats.html;
-    }
 
-    location /analytics/springer {
-      alias "/usr/share/nginx/html/analytics/springer";
+    location = /Shibboleth.sso {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
     }
 
-    location /userapi/demos {
-      index index.json;
-      alias "/usr/share/nginx/html/userapi/demos";
+    location /Shibboleth.sso/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
     }
 
-    location /.well-known/ {
-      alias "/usr/share/nginx/html/.well-known/";
-    }
-    location /nexus/ {
-      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:30788;
-      proxy_set_header Host $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto "https";
+    location = /shibboleth {
+#       proxy_pass https://130.183.207.113:31548;
+     proxy_pass https://130.183.207.103:8801;
     }
 
-
-    location /personal/ {
-      #proxy_pass http://130.183.207.77:8888;
-      alias "/usr/share/nginx/html/personal/";
-      try_files $uri $uri/ /personal/index.html;
+    location /shibboleth/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
     }
 
+    location /login/ {
+      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
+#      proxy_set_header Origin "https://130.183.207.113:31548";
+      proxy_set_header Origin "https://130.183.207.103:8801";
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+    }
 
-    location /api/ {
-      proxy_pass http://130.183.207.101:32728;
+    # version get request
+    location /notebook-edit/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
     }
 
-    location /ui/ {
-      proxy_pass http://130.183.207.101:32728;;
+    location /userapi/ {
+      proxy_pass https://130.183.207.103:8802;
     }
 
-    location /nmi/ {
-      proxy_pass http://130.183.207.101:32728;;
+    location /api/ {
+      proxy_pass http://nomad-flink-01.esc.rzg.mpg.de:30050;
+#      proxy_pass http://labdev4-nomad.esc.rzg.mpg.de:32728;
+#      proxy_pass http://130.183.207.112:31393;
+#      proxy_pass http://130.183.207.100:31235;
     }
 
     location /analytics/ {
-      proxy_pass http://130.183.207.101:32187;
+      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32187;
     }
 
+#    location /archive/nql-api/simple_stats {
+#      proxy_pass http://130.183.207.112:31596;
+#    }
+
     location /archive/ {
-      proxy_pass http:////130.183.207.101:32413;
+#      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:31263;
+#      proxy_pass http://130.183.207.112:30889;
+      proxy_pass http://130.183.207.112:31596;
     }
 
-    location /dev/ {
-      proxy_pass http://130.183.207.101:32413;
+    location /ui/ {
+      proxy_pass http://nomad-flink-01.esc.rzg.mpg.de:30050;
+#      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
+#      proxy_pass http://130.183.207.112:31393;
     }
 
-
-    location /stats/ {
-      proxy_pass http://130.183.207.101:30403;
+    location /nmi/ {
+      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:32728;
+#      proxy_pass http://130.183.207.112:31393;
     }
 
-    location /apitest/ {
-      proxy_pass http://130.183.207.101:30403;
-    }
 
+#Add jupyter notebooks
     location /jupyter/ {
-      proxy_pass https://130.183.207.101:31864;
-      proxy_set_header Host $http_host;
+      proxy_set_header Host labtest-nomad.esc.rzg.mpg.de;
+      #proxy_pass https://labtest-nomad.esc.rzg.mpg.de:8807;
+      proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
+      proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto "https";
-      #proxy_set_header Host labdev-nomad.esc.rzg.mpg.de;
-      #proxy_pass https://labdev-nomad.esc.rzg.mpg.de:8807;
-      proxy_redirect off;
-      proxy_buffering off;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "Upgrade";
-      proxy_read_timeout 86400;
-      proxy_http_version 1.1;
+      #proxy_redirect off;
+      #proxy_buffering off;
+      #proxy_set_header Upgrade $http_upgrade;
+      #proxy_set_header Connection "Upgrade";
+      #proxy_read_timeout 86400;
+      #proxy_http_version 1.1;
     }
 
     location = /jupyter {
-      proxy_pass https://130.183.207.101:31864;
-      proxy_set_header Host $host;
-      proxy_set_header Origin https://130.183.207.101:31864;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto "https";
+      proxy_set_header Host labtest-nomad.esc.rzg.mpg.de;
+      proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
+      #proxy_pass https://labtest-nomad.esc.rzg.mpg.de:8807;
     }
 
-    location ~ "^/jupyter/api/kernels/" {
-        proxy_pass https://130.183.207.101:31864;
+
+    location ~ /jupyter/api/kernels/ {
+        proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
+#        proxy_pass            https://labtest-nomad.esc.rzg.mpg.de:8807;
         proxy_set_header      Host $host;
         # websocket support
         proxy_http_version    1.1;
@@ -203,192 +256,156 @@ server {
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto "https";
     }
-    location ~ "^/jupyter/terminals/" {
-        proxy_pass https://130.183.207.101:31864;
+    location ~ /jupyter/terminals/ {
+        proxy_pass https://nomad-flink-01.esc.rzg.mpg.de:32141;
+        #proxy_pass            https://labtest-nomad.esc.rzg.mpg.de:8807;
         proxy_set_header      Host $host;
         # websocket support
         proxy_http_version    1.1;
-        proxy_set_header Upgrade "WebSocket";
+        proxy_set_header      Upgrade "WebSocket";
         proxy_set_header      Connection "Upgrade";
         proxy_read_timeout    86400;
-	#proxy_set_header X-Real-IP $remote_addr;
-        #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-        #proxy_set_header X-Forwarded-Proto "https";
-    }
-
-    location /industry-project-imeall/ {
-      proxy_pass http://labdev-nomad.esc.rzg.mpg.de:34695;
+	proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header X-Forwarded-Proto "https";
+        #proxy_set_header X-NginX-Proxy true;
     }
+###
 
-    location = /industry-project-imeall {
-      proxy_pass http://labdev-nomad.esc.rzg.mpg.de:34695;
-    }
 
 
-    rewrite "^/notebook-edit/(.*)$" /beaker/cM/start/$1 last;
 
-    location = /Shibboleth.sso {
-      proxy_pass https://130.183.207.101:31328;
-    }
 
-    location /Shibboleth.sso/ {
-      proxy_pass https://130.183.207.101:31328;
-    }
 
-    location = /shibboleth {
-      proxy_pass https://130.183.207.101:31328;
+    # redirect to the starting page
+    location = / {
+      return 301 $scheme://$http_host/home/;
     }
 
-    location /shibboleth/ {
-      proxy_pass https://130.183.207.101:31328;
+    location = /beaker/#/control {
+      return 301 $scheme://$http_host/home/;
     }
 
-    location = /login {
-      proxy_set_header Host analytics-toolkit.nomad-coe.eu;
-      proxy_set_header Origin https://130.183.207.101:31328;
-      proxy_pass https://130.183.207.101:31328;
+    location /nexus/ {
+      proxy_pass http://nomad-toolkit-prod2.esc.rzg.mpg.de:31629;
+      proxy_buffering off;
+      proxy_set_header Host $host;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+      proxy_set_header X-Forwarded-Proto "https";
     }
 
-    #location = /beaker/#/control {
-    #  return 301 $scheme://$http_host/home;
-    #}
-
-    location = /beaker {
-      return 301 $scheme://$http_host/beaker;
+    location = /Creedo {
+      return 301 $scheme://$http_host/Creedo/;
     }
 
-    location /beaker/ {
-      proxy_pass https://130.183.207.101:31328;
+    location /Creedo/ {
+      proxy_pass https://130.183.207.103:8805;
     }
 
-    # version get request
-    location = /version {
-      proxy_pass https://130.183.207.101:31328;
+    location = /zeppelin {
+      return 301 $scheme://$http_host/zeppelin/;
     }
 
-    # version get request
-    location /notebook-edit/ {
-      proxy_pass https://130.183.207.101:31328;
+    location /zeppelin/ {
+      proxy_pass http://130.183.207.103:8811;
     }
 
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/rest/util/version" {
-      proxy_pass https://130.183.207.101:31328;
+    location /zeppelin/ws {
+      proxy_pass http://130.183.207.103:8811;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       add_header Access-Control-Allow-Origin *;
     }
 
-    # forward websockets, auth using path instead of token
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/cometd-[a-z0-9]+/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_http_version 1.1; 
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
+    location = /beaker {
+      return 301 $scheme://$http_host/beaker/;
     }
 
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/r.[0-9]+/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
+    location /static/ {
+      alias "/usr/share/nginx/html/static/";
     }
 
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/ipython.[0-9]+/api/kernels/[0-9a-z-]+/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-      proxy_set_header Host 127.0.0.1:8804;
-      proxy_set_header Origin "http://127.0.0.1:8804";
+    location /archive-browser/ {
+      try_files $uri /archive-browser/index.html;
+      alias "/usr/share/nginx/html/archive-browser/";
     }
 
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/ipython.[0-9]+/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-      proxy_set_header Host 127.0.0.1:8804;
-      proxy_set_header Origin "http://127.0.0.1:8804";
+    location /analytics/springer {
+      alias "/usr/share/nginx/html/analytics/springer";
     }
-
-     location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/python3.[0-9]+/api/kernels/[0-9a-z-]+/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
-      proxy_set_header Host 127.0.0.1:8805;
-      proxy_set_header Origin "http://127.0.0.1:8805";
+   
+    location /userapi/demos {
+      index index.json;
+      alias "/usr/share/nginx/html/userapi/demos";
     }
 
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/python3.[0-9]+/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_set_header Origin "http://127.0.0.1:8805";
-    } 
-
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/beaker/" {
-      proxy_pass https://130.183.207.101:31328;
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection "upgrade";
+    location /home/ {
+      alias "/usr/share/nginx/html/home/";
     }
 
-    location ~ "^/[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]/" {
-      proxy_pass https://130.183.207.101:31328;
+    location /.well-known/ {
+      alias "/usr/share/nginx/html/.well-known/";
     }
 
-    # user directory
-    location /user/ {
-      proxy_pass https://130.183.207.101:31328;
+    location = /robots.txt {
+      alias "/usr/share/nginx/html/static/robots.txt";
     }
 
+    location = /beaker/ {
+      #auth_basic           "closed site";
+      #auth_basic_user_file /etc/nginx/htpasswd;
+      #proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+    }
 
     location = /nomad-query-gui {
       return 302 https://$server_name/notebook-edit/data/shared/sommerregen/nomad-query/nomad-query.bkr;
     }
 
-   location = /tutorial-metal-nonmetal {
-      return 302 https://$server_name/notebook-edit/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr;
-    }
-
     location = /tutorial-LASSO-L0 {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
-    }
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
+    }	
+
+    location = /tutorial-metal-nonmetal {
+      return 302 https://$server_name/notebook-edit/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr;
+    }	
 
     location = /tutorial-LASSO_L0 {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/LASSO_L0.bkr;
     }
 
     location = /tutorial-embedding {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/Embedding.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/Embedding.bkr;
     }
 
     location = /tutorial-SGD {
-      return 302 $scheme://$server_name/Creedo;
+      return 302 https://$server_name/Creedo;
     }
 
     location = /tutorial-glosim {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/SOAP_similarity.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/SOAP_similarity.bkr;
     }
 
     location = /tutorial-krr {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/brprototype3.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/brprototype3.bkr;
     }
-
+    
     location = /tutorial-query {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/notebooks/query_example_v1_1.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/notebooks/query_example_v1_1.bkr;
     }
-
+   
     location = /tutorial-SIS {
       return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
     }
-    
+
     location = /tutorial-SIS-L0 {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
     }
 
     location = /tutorial-SIS_L0 {
-      return 302 $scheme://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
+      return 302 https://$server_name/notebook-edit/data/shared/tutorials/sis_cscl.bkr;
     }
 
     location = /tutorial-sisso-metal-non-metal {
@@ -422,7 +439,8 @@ server {
     location = /tutorial-periodic-table  {
       return 302 https://$server_name/notebook-edit/data/shared/tutorials/periodic-table.bkr;
     }
-        location = /hands-on-cs  {
+
+    location = /hands-on-cs  {
       return 302 https://$server_name/notebook-edit/data/shared/emrea/hands-on-tutorial_CS.bkr;
     }
 
@@ -434,32 +452,88 @@ server {
       return 302 https://$server_name/notebook-edit/data/shared/tutorialsNew/custom-analytics-example/custom-analytics-example.bkr;
     }
 
-  }
+    # version get request
+    location = /version {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+    }
 
-  server {
-  # nexus docker registry
-      autoindex off;
- 
-    listen              5509 ssl;
-    server_name         labdev-nomad.esc.rzg.mpg.de;
-    ssl_certificate     /certs/cert-7741588557007104.pem;
-    ssl_certificate_key /certs/pkey.pem;
-    #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
-    #ssl_ciphers         HIGH:!aNULL:!MD5;
-  
-    # allow large uploads of files
-    client_max_body_size 1G;
-  
-    # optimize downloading files larger than 1G
-    #proxy_max_temp_file_size 2G;
-  
-    location / {
-      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:31547;
-      proxy_set_header Host $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header X-Forwarded-Proto "https";
+    location /b7c81a9/beaker/rest/util/version {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      add_header Access-Control-Allow-Origin *;
+    }
+
+    # forward websockets, auth using path instead of token
+    location ~ /b7c81a9/beaker/cometd-[a-z0-9]+/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_http_version 1.1; 
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+    }
+
+    location ~ /b7c81a9/r.[0-9]+/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
     }
+
+    location ~ /b7c81a9/ipython.[0-9]+/api/kernels/[0-9a-f-]+/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      proxy_set_header Host 127.0.0.1:8804;
+      proxy_set_header Origin "http://127.0.0.1:8804";
+    }
+
+    location ~ /b7c81a9/ipython.[0-9]+/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_set_header Origin "http://127.0.0.1:8804";
+    }
+
+     location ~ /b7c81a9/python3.[0-9]+/api/kernels/[0-9a-f-]+/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      proxy_set_header Host 127.0.0.1:8805;
+      proxy_set_header Origin "http://127.0.0.1:8805";
+    }
+
+    location ~ /b7c81a9/python3.[0-9]+/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_set_header Origin "http://127.0.0.1:8805";
+    } 
+
+    location /b7c81a9/beaker/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+    }
+
+    location /b7c81a9/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+    }
+
+    # user directory
+    location /user/ {
+#      proxy_pass https://130.183.207.113:31548;
+      proxy_pass https://130.183.207.103:8801;
+    }
+
   }
 }
-
diff --git a/nginx.conf.in b/nginx.conf.in
index 64df737..ccbcce5 100644
--- a/nginx.conf.in
+++ b/nginx.conf.in
@@ -66,7 +66,7 @@ http {
     ssl_certificate_key {{frontend.0.ssl_certificate_key}};
     #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
     #ssl_ciphers         HIGH:!aNULL:!MD5;
-    server_name         labdev-nomad.esc.rzg.mpg.de;
+    server_name         {{frontend.0.server_name}};
 {{else}}
     listen         80;
 {{/if}}
@@ -113,7 +113,7 @@ http {
     }
 {{#if nexus-service}}
     location /nexus/ {
-      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:30788;
+      proxy_pass http://{{nexus-service.0.nodes.[0]}}:{{nexus-service.0.ports.0.nodePort}};
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -171,11 +171,11 @@ http {
     }
 
     location /ui/ {
-      proxy_pass http://{{api-svc-labdev.0.nodes.[0]}}:{{api-svc-labdev.0.ports.0.nodePort}};;
+      proxy_pass http://{{api-svc-labdev.0.nodes.[0]}}:{{api-svc-labdev.0.ports.0.nodePort}};
     }
 
     location /nmi/ {
-      proxy_pass http://{{api-svc-labdev.0.nodes.[0]}}:{{api-svc-labdev.0.ports.0.nodePort}};;
+      proxy_pass http://{{api-svc-labdev.0.nodes.[0]}}:{{api-svc-labdev.0.ports.0.nodePort}};
     }
 {{/if}}
 
@@ -187,7 +187,7 @@ http {
 
 {{#if archive-webservice-dev.0.ports.0.nodePort}}
     location /archive/ {
-      proxy_pass http:////{{archive-webservice-dev.0.nodes.[0]}}:{{archive-webservice-dev.0.ports.0.nodePort}};
+      proxy_pass http://{{archive-webservice-dev.0.nodes.[0]}}:{{archive-webservice-dev.0.ports.0.nodePort}};
     }
 
     location /dev/ {
@@ -222,8 +222,6 @@ http {
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto "https";
-      #proxy_set_header Host labdev-nomad.esc.rzg.mpg.de;
-      #proxy_pass https://labdev-nomad.esc.rzg.mpg.de:8807;
       proxy_redirect off;
       proxy_buffering off;
       proxy_set_header Upgrade $http_upgrade;
@@ -312,12 +310,18 @@ http {
       proxy_pass {{nomad-container-manager-beaker.0.frontendProtocol}}//{{nomad-container-manager-beaker.0.nodes.[0]}}:{{nomad-container-manager-beaker.0.ports.0.nodePort}};
     }
 
+    location /login/ {
+      proxy_set_header Host {{frontend.0.server_name}};
+      proxy_set_header Origin {{nomad-container-manager-beaker.0.frontendProtocol}}//{{nomad-container-manager-beaker.0.nodes.[0]}}:{{nomad-container-manager-beaker.0.ports.0.nodePort}};
+      proxy_pass {{nomad-container-manager-beaker.0.frontendProtocol}}//{{nomad-container-manager-beaker.0.nodes.[0]}}:{{nomad-container-manager-beaker.0.ports.0.nodePort}};
+    }
+
     #location = /beaker/#/control {
     #  return 301 $scheme://$http_host/home;
     #}
 
     location = /beaker {
-      return 301 $scheme://$http_host/beaker;
+      return 301 $scheme://$http_host/beaker/;
     }
 
     location /beaker/ {
@@ -502,14 +506,15 @@ http {
 
   }
 
+{{#if nexus-docker-service}}
   server {
   # nexus docker registry
       autoindex off;
  
     listen              5509 ssl;
-    server_name         labdev-nomad.esc.rzg.mpg.de;
-    ssl_certificate     /certs/cert-7741588557007104.pem;
-    ssl_certificate_key /certs/pkey.pem;
+    server_name         {{frontend.0.server_name}};
+    ssl_certificate     {{frontend.0.ssl_certificate}};
+    ssl_certificate_key {{frontend.0.ssl_certificate_key}};
     #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
     #ssl_ciphers         HIGH:!aNULL:!MD5;
   
@@ -520,12 +525,13 @@ http {
     #proxy_max_temp_file_size 2G;
   
     location / {
-      proxy_pass http://labdev3-nomad.esc.rzg.mpg.de:31547;
+      proxy_pass http://{{nexus-docker-service.0.nodes.[0]}}:{{nexus-docker-service.0.ports.0.nodePort}};
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto "https";
     }
   }
+{{/if}}
 }
 
-- 
GitLab