blob: 51c2b0838427dbed269e85f453f62796c7228a90 [file] [log] [blame]
223010146abadd72025-06-05 14:21:13 +08001server {
2 listen 80;
3 server_name team1.10813352.xyz;
4
5 # 前端静态文件配置
6 root /usr/share/nginx/html;
7 index index.html;
8
9 # 解决 React Router 单页应用路由问题
10 location / {
11 try_files $uri $uri/ /index.html;
12
13 # 缓存策略
14 expires 7d; # 静态资源缓存7天
15 add_header Cache-Control "public";
16
17 # Gzip 压缩
18 gzip on;
19 gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
20 gzip_min_length 1024;
21 gzip_comp_level 6;
22 }
23
24 # API 请求代理到后端
25 location /api/ {
26 proxy_pass http://group1-backend:8080/; # 后端服务地址
27 proxy_set_header Host $host;
28 proxy_set_header X-Real-IP $remote_addr;
29 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
30 proxy_set_header X-Forwarded-Proto $scheme;
31
32 # 长连接支持
33 proxy_http_version 1.1;
34 proxy_set_header Connection "";
35
36 # 超时设置
37 proxy_connect_timeout 60s;
38 proxy_send_timeout 60s;
39 proxy_read_timeout 60s;
40 }
41
42 # 错误页面配置
43 error_page 404 /index.html;
44 error_page 500 502 503 504 /50x.html;
45
46 # 安全头设置
47 add_header X-Frame-Options "SAMEORIGIN" always;
48 add_header X-XSS-Protection "1; mode=block" always;
49 add_header X-Content-Type-Options "nosniff" always;
50 add_header Referrer-Policy "no-referrer-when-downgrade" always;
51 add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:" always;
52}