diff --git a/nginx/html_app.zpc-xy.com.conf b/nginx/html_app.zpc-xy.com.conf index 31c3ba4..9391132 100644 --- a/nginx/html_app.zpc-xy.com.conf +++ b/nginx/html_app.zpc-xy.com.conf @@ -38,12 +38,52 @@ server include /www/server/panel/vhost/rewrite/html_app.zpc-xy.com.conf; #REWRITE-END + #跨域处理 + add_header Access-Control-Allow-Origin * always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS, PATCH" always; + add_header Access-Control-Allow-Headers $http_access_control_request_headers always; + add_header Access-Control-Max-Age 86400 always; + add_header Access-Control-Allow-Credentials true always; + #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) { return 404; } + #子目录API转发规则 - 用^~确保优先级最高 + location ^~ /xyqj/api/ { + #处理OPTIONS预检请求 + if ($request_method = 'OPTIONS') { + add_header Access-Control-Allow-Origin * always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS, PATCH" always; + add_header Access-Control-Allow-Headers $http_access_control_request_headers always; + add_header Access-Control-Max-Age 86400 always; + add_header Access-Control-Allow-Credentials true always; + return 204; + } + + proxy_pass http://192.168.195.15:2802/; + 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_redirect off; + + #重写响应体中的绝对路径,添加/xyqj/api前缀 + sub_filter '"url":"/' '"url":"/xyqj/api/'; + sub_filter 'href="/' 'href="/xyqj/api/'; + sub_filter 'src="/' 'src="/xyqj/api/'; + sub_filter_once off; + + #转发时的跨域处理 + add_header Access-Control-Allow-Origin * always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS, PATCH" always; + add_header Access-Control-Allow-Headers $http_access_control_request_headers always; + add_header Access-Control-Max-Age 86400 always; + add_header Access-Control-Allow-Credentials true always; + } + #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all;