blob: 5319793c6bae510c1c6664d67b1655ca603f900f [file] [log] [blame]
server {
listen 80;
server_name team4.10813352.xyz;
# 开启Gzip压缩
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1000;
gzip_proxied any;
gzip_comp_level 6;
# 静态资源缓存优化
location ~* \.(js|css|jpg|jpeg|png|gif|ico|svg|woff2|ttf|eot)$ {
root /usr/share/nginx/html;
expires 1y;
add_header Cache-Control "public, max-age=31536000, immutable";
try_files $uri =404;
access_log off;
}
# API代理 - 指向后端服务
location /api/ {
proxy_pass http://127.0.0.1:5004/; # 使用宿主机端口代理
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 30s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
# WebSocket支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# 前端SPA路由处理 - 指向前端服务
location / {
proxy_pass http://127.0.0.1:3004; # 前端服务端口
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;
# SPA路由重写
proxy_intercept_errors on;
error_page 404 = /index.html;
}
# 禁止访问隐藏文件
location ~ /\. {
deny all;
return 404;
}
# 错误页面处理
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}