new-site/site/nginx.conf
justin f8cd37ac8c Initial commit — Performance West telecom compliance platform
Includes: API (Express/TypeScript), Astro site, Python workers,
document generators, FCC compliance tools, Canada CRTC formation,
Ansible infrastructure, and deployment scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 06:54:22 -05:00

39 lines
1.1 KiB
Nginx Configuration File

server {
listen 80;
root /usr/share/nginx/html;
index index.html;
error_page 404 /404.html;
location / {
try_files $uri $uri/index.html $uri.html =404;
}
location /api/ {
proxy_pass http://api:3001/api/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Astro's hashed _astro/ files — content-addressed, safe to cache forever
location /_astro/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
# Images + fonts — long cache but NOT immutable (can be updated)
location ~* \.(png|jpg|jpeg|gif|ico|svg|woff2?)$ {
expires 30d;
add_header Cache-Control "public";
}
# HTML pages — short cache so deploys take effect quickly
location ~* \.html$ {
add_header Cache-Control "no-cache";
}
# Security headers are set on the outer (host) nginx — do NOT duplicate here
}