2025-11-21 19:51:50 -05:00
|
|
|
server {
|
|
|
|
|
listen 8080;
|
|
|
|
|
server_name _;
|
|
|
|
|
|
|
|
|
|
root /usr/share/nginx/html;
|
2025-11-21 20:03:28 -05:00
|
|
|
index "Neon Vortex.html";
|
2025-11-21 19:51:50 -05:00
|
|
|
|
|
|
|
|
# Enable gzip compression
|
|
|
|
|
gzip on;
|
|
|
|
|
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/wasm;
|
|
|
|
|
gzip_min_length 1000;
|
|
|
|
|
|
|
|
|
|
# MIME types for WASM and other assets
|
|
|
|
|
types {
|
|
|
|
|
application/wasm wasm;
|
|
|
|
|
application/javascript js;
|
|
|
|
|
text/html html;
|
|
|
|
|
application/json json;
|
|
|
|
|
image/png png;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Security headers
|
|
|
|
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
|
|
|
|
add_header X-Content-Type-Options "nosniff" always;
|
|
|
|
|
add_header X-XSS-Protection "1; mode=block" always;
|
|
|
|
|
|
|
|
|
|
# CORS headers for web workers and WASM
|
|
|
|
|
add_header Cross-Origin-Embedder-Policy "require-corp" always;
|
|
|
|
|
add_header Cross-Origin-Opener-Policy "same-origin" always;
|
|
|
|
|
|
|
|
|
|
location / {
|
2025-11-21 20:03:28 -05:00
|
|
|
try_files $uri $uri/ "/Neon Vortex.html";
|
2025-11-21 19:51:50 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Cache static assets
|
|
|
|
|
location ~* \.(png|jpg|jpeg|gif|ico|wasm|js|css)$ {
|
|
|
|
|
expires 1y;
|
|
|
|
|
add_header Cache-Control "public, immutable";
|
|
|
|
|
}
|
|
|
|
|
}
|