med-notes/static-provider/nginx.conf

41 lines
1.7 KiB
Nginx Configuration File

server {
listen 80;
server_name localhost;
root /static-files;
location / {
# Handle preflight requests first
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
add_header Access-Control-Allow-Headers "Origin, Content-Type, Accept, Authorization" always;
add_header Access-Control-Max-Age 3600 always;
return 204;
}
# Serve static files
try_files $uri $uri/ =404;
# Add CORS headers for actual requests
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
add_header Access-Control-Allow-Headers "Origin, Content-Type, Accept, Authorization" always;
# Aggressive caching - 1 year
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Expires "Thu, 31 Dec 2037 23:55:55 GMT" always;
# Set proper content type for markdown files
location ~* \.md$ {
add_header Content-Type "text/markdown; charset=utf-8";
# Aggressive caching for markdown too
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Expires "Thu, 31 Dec 2037 23:55:55 GMT" always;
}
# Enable gzip compression for better performance
gzip on;
gzip_types text/plain text/css text/markdown application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
}