X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/50cbdcbd67f8b0da06d3b188e7bfdea3963661a7..14a6eb786a0d01e86ccae7645e880661caf6f0cb:/sdk/python/tests/nginx.conf diff --git a/sdk/python/tests/nginx.conf b/sdk/python/tests/nginx.conf index c21ef95f2a..6010ee4bf7 100644 --- a/sdk/python/tests/nginx.conf +++ b/sdk/python/tests/nginx.conf @@ -8,10 +8,14 @@ events { } http { log_format customlog - '[$time_local] $server_name $status $body_bytes_sent $request_time $request_method "$scheme://$http_host$request_uri" $remote_addr:$remote_port ' + '[$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}}"; + proxy_temp_path "{{TMPDIR}}"; + fastcgi_temp_path "{{TMPDIR}}"; + uwsgi_temp_path "{{TMPDIR}}"; + scgi_temp_path "{{TMPDIR}}"; upstream arv-git-http { server localhost:{{GITPORT}}; } @@ -42,6 +46,9 @@ http { 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 { @@ -58,6 +65,10 @@ http { 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; } } server { @@ -67,26 +78,14 @@ http { ssl_certificate_key "{{SSLKEY}}"; location / { proxy_pass http://keep-web; + 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; - # Unlike other proxy sections, here we need to override the - # requested Host header and use proxy_redirect because of the - # way the test suite orchestrates services. Keep-web's "download - # only" behavior relies on the Host header matching a configured - # value, but when run_test_servers.py writes keep-web's command - # line, the keep-web-dl TLS port (which clients will connect to - # and include in their Host header) has not yet been assigned. - # - # In production, "proxy_set_header Host $http_host; - # proxy_redirect off;" works: keep-web's redirect URLs will - # match the request URL received by Nginx. - # - # Here, keep-web will issue redirects to https://download/ and - # Nginx will rewrite them. - # - proxy_set_header Host download; - proxy_redirect https://download/ https://$host:{{KEEPWEBDLSSLPORT}}/; + client_max_body_size 0; + proxy_http_version 1.1; + proxy_request_buffering off; } } upstream ws {