X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/4a98eba9ae08ffccb822842f74b1b805302a1ad1..3c4835a24aa6af9c7060c8b6d760a6eb32227774:/sdk/python/tests/nginx.conf diff --git a/sdk/python/tests/nginx.conf b/sdk/python/tests/nginx.conf index ce1b17062e..bfb1226f7f 100644 --- a/sdk/python/tests/nginx.conf +++ b/sdk/python/tests/nginx.conf @@ -7,85 +7,169 @@ error_log "{{ERRORLOG}}" info; # Yes, must be specified here _and_ cmdl events { } http { - access_log {{ACCESSLOG}} combined; - client_body_temp_path "{{TMPDIR}}"; + log_format customlog + '[$time_local] "$http_x_request_id" $server_name $status $body_bytes_sent $request_time $request_method "$scheme://$http_host$request_uri" $remote_addr:$remote_port ' + '"$http_referer" "$http_user_agent"'; + access_log "{{ACCESSLOG}}" customlog; + client_body_temp_path "{{TMPDIR}}/nginx"; + proxy_temp_path "{{TMPDIR}}/nginx"; + fastcgi_temp_path "{{TMPDIR}}/nginx"; + uwsgi_temp_path "{{TMPDIR}}/nginx"; + scgi_temp_path "{{TMPDIR}}/nginx"; + upstream controller { + server {{LISTENHOST}}:{{CONTROLLERPORT}}; + } + server { + listen {{LISTENHOST}}:{{CONTROLLERSSLPORT}} ssl; + server_name controller ~.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; + client_max_body_size 0; + location / { + proxy_pass http://controller; + 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 arv-git-http { - server localhost:{{GITPORT}}; + server {{LISTENHOST}}:{{GITPORT}}; } server { - listen *:{{GITSSLPORT}} ssl default_server; - server_name _; - ssl_certificate {{SSLCERT}}; - ssl_certificate_key {{SSLKEY}}; + 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 localhost:{{KEEPPROXYPORT}}; + server {{LISTENHOST}}:{{KEEPPROXYPORT}}; } server { - listen *:{{KEEPPROXYSSLPORT}} ssl default_server; - server_name _; - ssl_certificate {{SSLCERT}}; - ssl_certificate_key {{SSLKEY}}; + listen {{LISTENHOST}}:{{KEEPPROXYSSLPORT}} ssl; + server_name keepproxy keep.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; location / { proxy_pass http://keepproxy; + 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; + + proxy_http_version 1.1; + proxy_request_buffering off; } } upstream keep-web { - server localhost:{{KEEPWEBPORT}}; + server {{LISTENHOST}}:{{KEEPWEBPORT}}; } server { - listen *:{{KEEPWEBSSLPORT}} ssl default_server; - server_name ~^(?.*)$; - ssl_certificate {{SSLCERT}}; - ssl_certificate_key {{SSLKEY}}; + listen {{LISTENHOST}}:{{KEEPWEBSSLPORT}} ssl; + server_name keep-web collections.* ~\.collections\.; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; location / { proxy_pass http://keep-web; - proxy_set_header Host $request_host:{{KEEPWEBPORT}}; + 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; + + client_max_body_size 0; + proxy_http_version 1.1; + proxy_request_buffering off; + } + } + upstream health { + server {{LISTENHOST}}:{{HEALTHPORT}}; + } + server { + listen {{LISTENHOST}}:{{HEALTHSSLPORT}} ssl; + server_name health health.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; + location / { + proxy_pass http://health; + 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; + + proxy_http_version 1.1; + proxy_request_buffering off; } } server { - listen *:{{KEEPWEBDLSSLPORT}} ssl default_server; - server_name ~.*; - ssl_certificate {{SSLCERT}}; - ssl_certificate_key {{SSLKEY}}; + listen {{LISTENHOST}}:{{KEEPWEBDLSSLPORT}} ssl; + server_name keep-web-dl download.* ~.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; location / { proxy_pass http://keep-web; - proxy_set_header Host download:{{KEEPWEBPORT}}; + proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_redirect //download:{{KEEPWEBPORT}}/ https://$host:{{KEEPWEBDLSSLPORT}}/; + proxy_set_header X-Forwarded-Proto https; + proxy_redirect off; + + client_max_body_size 0; + proxy_http_version 1.1; + proxy_request_buffering off; } } upstream ws { - server localhost:{{WSPORT}}; + server {{LISTENHOST}}:{{WSPORT}}; } server { - listen *:{{WSSPORT}} ssl default_server; - server_name ~^(?.*)$; - ssl_certificate {{SSLCERT}}; - ssl_certificate_key {{SSLKEY}}; + listen {{LISTENHOST}}:{{WSSSLPORT}} ssl; + server_name websocket ws.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; location / { proxy_pass http://ws; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_set_header Host $request_host:{{WSPORT}}; + 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 controller { - server localhost:{{CONTROLLERPORT}}; + upstream workbench1 { + server {{LISTENHOST}}:{{WORKBENCH1PORT}}; } server { - listen *:{{CONTROLLERSSLPORT}} ssl default_server; - server_name _; - ssl_certificate {{SSLCERT}}; - ssl_certificate_key {{SSLKEY}}; + listen {{LISTENHOST}}:{{WORKBENCH1SSLPORT}} ssl; + server_name workbench1 workbench1.* workbench.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; location / { - proxy_pass http://controller; + 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; + } + } + server { + listen {{LISTENHOST}}:{{WORKBENCH2SSLPORT}} ssl; + server_name workbench2 workbench2.*; + ssl_certificate "{{SSLCERT}}"; + ssl_certificate_key "{{SSLKEY}}"; + 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; } } }