worker_processes 1; events { worker_connections 1024; } error_log nginx_main_error.log info; pid nginx_user.pid; daemon off; http { access_log nginx_access.log; error_log nginx_error.log info; include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; server { # listen 8080 ssl; listen 8081; server_name localhost; gzip on; # Enable compression for .wasm, .js and .txt files (used for the runtime chunks) gzip_types application/javascript application/wasm text/plain application/octet-stream; charset utf-8; # ssl_certificate nginx.crt; # ssl_certificate_key nginx.key; location / { root .; autoindex on; index index.html index.htm; add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Expose-Headers' 'content-length' always; add_header 'Cross-Origin-Opener-Policy' 'same-origin' always; add_header 'Cross-Origin-Embedder-Policy' 'require-corp' always; add_header 'Cross-Origin-Resource-Policy' 'cross-origin' always; #auth_basic "CX Demo"; #auth_basic_user_file basicauth; } location /images/ { root .; if ($arg_s != "") { rewrite ^/images/(.*)$ $1 break; } if ($arg_s = "") { gzip off; } error_page 404 =200 /images_slicer/$uri?$args; } location /images_slicer/ { proxy_pass http://localhost:8082/images/; proxy_http_version 1.0; proxy_set_header Range bytes=$arg_s-$arg_e; proxy_hide_header Content-Range; } } server { listen 127.0.0.1:8082; server_name localhost; charset utf-8; location / { root .; } } }