配置Nginx允许跨域请求,折腾了好长时间,终于配置成功
记录开发 2023年06月07日 576°C 我要评论
近期,用到API接口调用,A网址需要调用B网址的API,但是前端浏览器不通过,提示CORS跨域错误。
于是网上找了很多方法,前端和服务端都试过。没有一个成功的。
这个问题折腾了好长时间,终于用此方法配置Nginx,成功实现跨域访问,以下是详细记录:
server
{
listen 80;
listen 443 ssl;
server_name api.yeebai.com;
index index.html i.html;
root x:/yeebai/public;
# 指定允许跨域的方法,*代表所有域通过
add_header Access-Control-Allow-Methods *;
# 预检命令的缓存,如果不缓存每次会发送两次请求
add_header Access-Control-Max-Age 3600;
# cookie请求是否开启
add_header Access-Control-Allow-Credentials true;
# 表示允许这个域跨域调用
# $http_origin 动态获取请求客户端请求的域
add_header Access-Control-Allow-Origin $http_origin;
# 动态获取请求头的字段
add_header Access-Control-Allow-Headers $http_access_control_request_headers;
# 判断预检命令,通过时发送请求
if ($request_method = OPTIONS){
return 200;
}
# HTTP_TO_HTTPS_START
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
}
本页最后更新时间:2023年09月28日