diff --git a/deploy/linuxcnc-wasm-58010.nginx.conf b/deploy/linuxcnc-wasm-58010.nginx.conf new file mode 100644 index 0000000..7ff840f --- /dev/null +++ b/deploy/linuxcnc-wasm-58010.nginx.conf @@ -0,0 +1,75 @@ +server { + listen 58010 ssl; + listen [::]:58010 ssl; + server_name 49.232.250.35; + + root /var/www/linuxcnc-wasm/current; + index index.html; + + ssl_certificate /etc/letsencrypt/live/49.232.250.35/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/49.232.250.35/privkey.pem; + ssl_protocols TLSv1.2 TLSv1.3; + ssl_session_timeout 1d; + ssl_session_cache shared:SSL:10m; + ssl_session_tickets off; + + add_header Cross-Origin-Opener-Policy "same-origin" always; + add_header Cross-Origin-Embedder-Policy "require-corp" always; + add_header Cross-Origin-Resource-Policy "same-origin" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header X-Content-Type-Options "nosniff" always; + + location = /index.html { + try_files $uri =404; + add_header Cache-Control "no-cache" 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 "same-origin" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header X-Content-Type-Options "nosniff" always; + } + + location ^~ /assets/ { + try_files $uri =404; + add_header Cache-Control "public, max-age=31536000, immutable" 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 "same-origin" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header X-Content-Type-Options "nosniff" always; + } + + location ^~ /build-wasm/ { + try_files $uri =404; + add_header Cache-Control "public, max-age=31536000, immutable" 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 "same-origin" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header X-Content-Type-Options "nosniff" always; + } + + location ^~ /linuxcnc/ { + try_files $uri =404; + add_header Cache-Control "public, max-age=86400" 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 "same-origin" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header X-Content-Type-Options "nosniff" always; + } + + location ^~ /workspace/ { + try_files $uri =404; + add_header Cache-Control "public, max-age=86400" 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 "same-origin" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header X-Content-Type-Options "nosniff" always; + } + + location / { + try_files $uri $uri/ /index.html; + } +}