include ./resolvers/resolvers.conf; server { listen 80 default_server; server_name _; proxy_buffering off; proxy_buffers 16 64k; proxy_buffer_size 64k; root /usr/share/nginx/html; index index.html index.htm; error_page 500 501 502 503 504 /50x.html; merge_slashes off; location = /50x.html { root /usr/share/nginx/html; } # fallback to index for any page error_page 404 /index.html; location / { root /usr/share/nginx/html; index index.html index.htm; } # used in both k8s and docker: RWP_BASE_URL set in Dockerfile location /replay/sw.js { add_header Content-Type application/javascript; return 200 'importScripts("${RWP_BASE_URL}sw.js");'; } # used by docker only: k8s deployment handles /api directly via ingress location /api/ { proxy_pass http://${BACKEND_HOST}:8000; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; } location ~* /watch/([^/]+)/([^/]+)/([^/]+)/ws { set $archive $1; set $crawl $2; set $num $3; set $auth_bearer $arg_auth_bearer; set $svc_suffix "${CRAWLER_SVC_SUFFIX}"; set $fqdn_suffix "${CRAWLER_FQDN_SUFFIX}"; auth_request /access_check; proxy_pass http://crawl-$crawl-$num$svc_suffix$fqdn_suffix:9037/ws; proxy_set_header Host "localhost"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } location = /access_check { internal; proxy_pass http://${BACKEND_HOST}:8000/api/archives/$archive/crawls/$crawl/access?auth_bearer=$auth_bearer; proxy_pass_request_body off; proxy_set_header Content-Length ""; } location ~* /loadbrowser/([^/]+)/(.*)/page/(.*)$ { set $browserid $1; set $auth_bearer $arg_auth_bearer; set $archive $arg_aid; set $fqdn_suffix "${CRAWLER_FQDN_SUFFIX}"; auth_request /access_check_profiles; proxy_pass http://browser-$browserid-0.browser-$browserid$fqdn_suffix:9222/$2/page/$3; proxy_set_header Host "localhost"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } location = /access_check_profiles { internal; proxy_pass http://${BACKEND_HOST}:8000/api/archives/$archive/profiles/browser/$browserid/access?auth_bearer=$auth_bearer; proxy_pass_request_body off; proxy_set_header Content-Length ""; } location ~* /loadbrowser/([^/]+)/(.*) { set $browserid $1; set $fqdn_suffix "${CRAWLER_FQDN_SUFFIX}"; proxy_pass http://browser-$browserid-0.browser-$browserid$fqdn_suffix:9222/$2; proxy_set_header Host "localhost"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } include ./includes/*.conf; }