fix: nginx配置文件修改,解决跨域问题。
This commit is contained in:
25
nginx.conf
25
nginx.conf
@@ -78,20 +78,35 @@ http {
|
||||
}
|
||||
|
||||
location /ultra-api/ {
|
||||
# websocket参数(保留原有,无需修改)
|
||||
# 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";
|
||||
# 保留已修正的rewrite规则(移除/ultra-api/前缀)
|
||||
|
||||
# 3. 路径重写:移除/ultra-api/前缀,消除双斜杠(保留原有,核心)
|
||||
rewrite ^/ultra-api/(.*) /$1 break;
|
||||
# 修正3:移除proxy_pass中的/ultra-api/,避免路径重复;替换上游名称为ultra_api_server
|
||||
|
||||
# 4. 反向代理:指向上游服务,结尾/保证路径拼接无重复(消除双斜杠)
|
||||
proxy_pass https://ultra_api_server/;
|
||||
# 修正4:补充核心反向代理头,与根路径保持一致,让上游获取真实客户端信息
|
||||
|
||||
# 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; # 新增:告诉上游原始请求协议(http/https)
|
||||
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/ {
|
||||
|
||||
Reference in New Issue
Block a user