server { listen 80; server_name localhost; # 设置最大上传文件大小为10GB client_max_body_size 10G; # 安全响应头 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "no-referrer-when-downgrade" always; # 隐藏Nginx版本 server_tokens off; # 禁止访问隐藏文件和敏感文件 location ~ /\. { deny all; return 404; } location ~ \.(env|git|config|key|pem|crt)$ { deny all; return 404; } # 前端静态文件 location / { root /usr/share/nginx/html; index index.html; try_files $uri $uri/ =404; } # 后端API反向代理 location /api/ { proxy_pass http://backend:40001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 修复:使用当前请求协议(http或https),适用于直接IP访问 proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; # Cookie传递配置(验证码session需要) proxy_set_header Cookie $http_cookie; proxy_pass_header Set-Cookie; # 增加超时时间支持大文件上传 proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; } # 分享链接重定向 location /s/ { proxy_pass http://backend:40001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 修复:使用当前请求协议(http或https),适用于直接IP访问 proxy_set_header X-Forwarded-Proto $scheme; } }