Nginx 配置允许跨域,网上找了很多方法,普遍说加3个add_header就能实现跨域的,不知道是不是系统环境不一样,反正我是没成功。
最终还是用下面的方法成功,特此记录下:
server { listen 88; server_name http://localhost; #proxy_set_header Host $host; #proxy_set_header X-Real-Ip $remote_addr; #proxy_set_header X-Forwarded-For $remote_addr; # 指定允许跨域的方法,*代表所有 add_header Access-Control-Allow-Methods *; # 预检命令的缓存,如果不缓存每次会发送两次请求 add_header Access-Control-Max-Age 3600; # 不带cookie请求,并设置为false add_header Access-Control-Allow-Credentials false; # 表示允许这个域跨域调用(客户端发送请求的域名和端口) # $http_origin动态获取请求客户端请求的域 不用*的原因是带cookie的请求不支持*号 add_header Access-Control-Allow-Origin $http_origin; # 表示请求头的字段 动态获取 add_header Access-Control-Allow-Headers $http_access_control_request_headers; # OPTIONS预检命令,预检命令通过时才发送请求 # 检查请求的类型是不是预检命令 if ($request_method = OPTIONS){ return 200; } location / { #这里省略很多字 } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。