X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f3b8d03f7063b162355bccfd71aeb2b8b67bbdbb..HEAD:/sdk/python/tests/nginx.conf diff --git a/sdk/python/tests/nginx.conf b/sdk/python/tests/nginx.conf index 1716291fe8..a382d643ef 100644 --- a/sdk/python/tests/nginx.conf +++ b/sdk/python/tests/nginx.conf @@ -46,22 +46,6 @@ http { proxy_http_version 1.1; } } - upstream arv-git-http { - server {{UPSTREAMHOST}}:{{GITPORT}}; - } - server { - listen {{LISTENHOST}}:{{GITSSLPORT}} ssl; - server_name arv-git-http git.*; - ssl_certificate "{{SSLCERT}}"; - ssl_certificate_key "{{SSLKEY}}"; - location / { - proxy_pass http://arv-git-http; - 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; - } - } upstream keepproxy { server {{UPSTREAMHOST}}:{{KEEPPROXYPORT}}; } @@ -160,30 +144,73 @@ http { proxy_request_buffering off; } } - upstream workbench1 { - server {{UPSTREAMHOST}}:{{WORKBENCH1PORT}}; - } - server { - listen {{LISTENHOST}}:{{WORKBENCH1SSLPORT}} ssl; - server_name workbench1 workbench1.* workbench.*; - ssl_certificate "{{SSLCERT}}"; - ssl_certificate_key "{{SSLKEY}}"; - location / { - proxy_pass http://workbench1; - 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; - } + # wb1->wb2 redirects copied from + # /tools/salt-install/config_examples/multi_host/aws/pillars/nginx_workbench_configuration.sls + map $request_uri $wb1_redirect { + default 0; + + ~^/actions\?uuid=(.*-4zz18-.*) /collections/$1; + ~^/actions\?uuid=(.*-j7d0g-.*) /projects/$1; + ~^/actions\?uuid=(.*-tpzed-.*) /projects/$1; + ~^/actions\?uuid=(.*-7fd4e-.*) /workflows/$1; + ~^/actions\?uuid=(.*-xvhdp-.*) /processes/$1; + ~^/actions\?uuid=(.*) /; + + ^/work_units/(.*) /processes/$1; + ^/container_requests/(.*) /processes/$1; + ^/users/(.*) /user/$1; + ^/groups/(.*) /group/$1; + + ^/virtual_machines.* /virtual-machines-admin; + ^/users/.*/virtual_machines /virtual-machines-user; + ^/authorized_keys.* /ssh-keys-admin; + ^/users/.*/ssh_keys /ssh-keys-user; + ^/containers.* /all_processes; + ^/container_requests /all_processes; + ^/job.* /all_processes; + ^/users/link_account /link_account; + ^/keep_services.* /keep-services; + ^/trash_items.* /trash; + + ^/themes.* /; + ^/keep_disks.* /; + ^/user_agreements.* /; + ^/nodes.* /; + ^/humans.* /; + ^/traits.* /; + ^/sessions.* /; + ^/logout.* /; + ^/logged_out.* /; + ^/current_token /; + ^/logs.* /; + ^/factory_jobs.* /; + ^/uploaded_datasets.* /; + ^/specimens.* /; + ^/pipeline_templates.* /; + ^/pipeline_instances.* /; } upstream workbench2 { server {{UPSTREAMHOST}}:{{WORKBENCH2PORT}}; } server { listen {{LISTENHOST}}:{{WORKBENCH2SSLPORT}} ssl; - server_name workbench2 workbench2.*; + listen {{LISTENHOST}}:{{WORKBENCH1SSLPORT}} ssl; + server_name workbench2 workbench2.* workbench1 workbench1.* workbench workbench.*; ssl_certificate "{{SSLCERT}}"; ssl_certificate_key "{{SSLKEY}}"; + + if ($wb1_redirect) { + return 301 $wb1_redirect; + } + + # file download redirects + if ($arg_disposition = attachment) { + rewrite ^/collections/([^/]*)/(.*) /?redirectToDownload=/c=$1/$2? redirect; + } + if ($arg_disposition = inline) { + rewrite ^/collections/([^/]*)/(.*) /?redirectToPreview=/c=$1/$2? redirect; + } + location / { proxy_pass http://workbench2; proxy_set_header Host $http_host;