worker_processes 1; pid /tmp/nginx.pid; error_log /dev/stderr info; events { worker_connections 512; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /dev/stdout; sendfile on; keepalive_timeout 65; client_body_temp_path /tmp/nginx-client; proxy_temp_path /tmp/nginx-proxy; map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 7860; server_name _; server_tokens off; auth_basic "Private browser"; auth_basic_user_file /home/user/.browser.htpasswd; add_header X-Content-Type-Options nosniff always; add_header Referrer-Policy no-referrer always; add_header Cache-Control "no-store" always; location = /healthz { auth_basic off; default_type application/json; return 200 '{"status":"alive"}'; } location = / { return 302 /vnc.html?autoconnect=true&resize=scale&path=websockify; } location = /websockify { proxy_pass http://127.0.0.1:6080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_read_timeout 86400s; proxy_send_timeout 86400s; proxy_buffering off; } location / { root /usr/share/novnc; try_files $uri $uri/ =404; } } }