fix: nginx配置文件修改,解决跨域问题。

This commit is contained in:
tianyongbao
2026-02-04 18:21:49 +08:00
parent dce2925520
commit f599298d24

View File

@@ -78,20 +78,35 @@ http {
}
location /ultra-api/ {
# websocket参数保留原有无需修改
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 保留已修正的rewrite规则移除/ultra-api/前缀)
rewrite ^/ultra-api/(.*) /$1 break;
# 修正3移除proxy_pass中的/ultra-api/避免路径重复替换上游名称为ultra_api_server
proxy_pass https://ultra_api_server/;
# 修正4补充核心反向代理头与根路径保持一致让上游获取真实客户端信息
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; # 新增告诉上游原始请求协议http/https
# 1. 处理OPTIONS预检请求直接返回204无需转发到后端跨域必备
if ($request_method = OPTIONS) {
return 204;
}
# 2. WebSocket必备配置保留原有无需修改
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 3. 路径重写:移除/ultra-api/前缀,消除双斜杠(保留原有,核心)
rewrite ^/ultra-api/(.*) /$1 break;
# 4. 反向代理:指向上游服务,结尾/保证路径拼接无重复(消除双斜杠
proxy_pass https://ultra_api_server/;
# 5. 基础反向代理头(保留原有,保证上游获取真实客户端信息)
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 6. 核心CORS跨域允许配置解决前端拦截问题重点
add_header Access-Control-Allow-Origin * always; # 你的前端源站,必须指定具体地址(比*安全)
add_header Access-Control-Allow-Methods 'GET,POST,PUT,DELETE,OPTIONS' always; # 允许前端的请求方法
add_header Access-Control-Allow-Headers 'Content-Type,Authorization,Token,X-Requested-With' always; # 允许前端的自定义请求头(根据实际需求补充)
; add_header Access-Control-Allow-Credentials true always; # 允许跨域携带Cookie/Token登录必备
add_header Access-Control-Max-Age 3600 always; # 预检请求缓存时间1小时减少OPTIONS请求
}
location /file/ {