diff --git a/docker/resume/nginx.conf b/docker/resume/nginx.conf index 167acb9..636b216 100644 --- a/docker/resume/nginx.conf +++ b/docker/resume/nginx.conf @@ -2,4 +2,24 @@ server { listen 8080; root /usr/share/nginx/html; index resume.html; + + # Allow only matomo.nixc.us for content and tracking assets + add_header Content-Security-Policy "default-src 'self'; script-src 'self' matomo.nixc.us; img-src 'self' matomo.nixc.us; style-src 'self';"; + + # Security Headers + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always; + + # Optional Cross-Origin Headers + add_header Cross-Origin-Embedder-Policy "require-corp" always; + add_header Cross-Origin-Resource-Policy "same-origin" always; + add_header Cross-Origin-Opener-Policy "same-origin" always; + + # Additional settings if needed for Matomo tracking + location / { + try_files $uri $uri/ =404; + } }