QAUP_Management/deploy/docker/nginx/nginx-env.conf.template

71 lines
2.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Nginx 环境配置模板
# 使用环境变量进行配置替换
server {
listen ${NGINX_PORT:-80};
server_name ${SERVER_NAME:-localhost};
root /usr/share/nginx/html;
index index.html;
# 安全头设置
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;
# 健康检查端点
location /health {
access_log off;
return 200 "healthy\n";
add_header Content-Type text/plain;
}
# API 代理到后端
location ${API_PREFIX:-/prod-api}/ {
proxy_pass http://${BACKEND_HOST:-qaup-app}:${BACKEND_PORT:-8080}/;
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;
# 超时设置
proxy_connect_timeout ${PROXY_CONNECT_TIMEOUT:-30s};
proxy_send_timeout ${PROXY_SEND_TIMEOUT:-60s};
proxy_read_timeout ${PROXY_READ_TIMEOUT:-60s};
# 缓冲设置
proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 8 4k;
proxy_busy_buffers_size 8k;
# 请求体大小限制
client_max_body_size ${MAX_UPLOAD_SIZE:-20M};
}
# 静态资源缓存
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires ${STATIC_CACHE_TIME:-1y};
add_header Cache-Control "public, immutable";
try_files $uri =404;
}
# 前端路由处理SPA
location / {
try_files $uri $uri/ /index.html;
# HTML 文件不缓存
location ~* \.html$ {
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
add_header Expires "0";
}
}
# 错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}