nginx 配置add_header 'Access-Control-Allow-Origin' '*' 依然存在跨域问题

.问题描述:
前端域名A 在POST请求后端域名为B 的一个接口时候请求成功时不存在跨域问题,请求失败时浏览器提示跨域。

解决:
当请求成功时,HTTP CODE 为200。而请求失败时HTTP CODE 为400, 此时add_header ‘Access-Control-Allow-Origin’ ‘*’ 配置无效!设置无论HTTP CODE 为何值时都生效需要加 always 。nginx版本>1.7.5时候无须加always。

add_header ‘Access-Control-Allow-Origin‘ ‘*‘ always;

nginx文档地址:

http://nginx.org/en/docs/http/ngx_http_headers_module.html

文档原文:

Syntax: add_header name value [always];
Default: —
Context: http, server, location, if in location

If the always parameter is specified (1.7.5), the header field will be added regardless of the response code.]

nginx 配置add_header 'Access-Control-Allow-Origin' '*' 依然存在跨域问题

原文地址:https://www.cnblogs.com/azhqiang/p/12703524.html

时间: 04-15

nginx 配置add_header 'Access-Control-Allow-Origin' '*' 依然存在跨域问题的相关文章

Access control allow origin 简单请求和复杂请求

错误信息: XMLHttpRequest cannot load http://web.image.myqcloud.com/photos/v2/10008653/bhpocket/0/?sign=4FcLKd5B8-p4SkFVUEJtZ1omZT0xNDQ0NzExMDE5JnQ9MTQ0NDcwNzQxOSZyPTEzMDMyMDgzOTAmdT0wJmY9.No 'Access-Control-Allow-Origin' header is present on the requeste

关于Access Control Allow Origin错误的问题

前天第一次使用jquery向服务器发送Get请求.结果吸拜了...查看console提示说"No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.",嗯好吧,google了一下才知道是跨域问题. 跨域访问:AJAX 跨域访问是用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面

利用CORS配置实现jQuery对WebApi及MVC的跨域访问

js ajax操作中,默认不能进行跨域访问,我们可以通过CORS配置实现最简单的跨域访问.这种方式是在服务端进行跨域访问控制. 一.编写服务端代码 新建一个ASP.NET MVC/WebApi项目,在其中分别新建Api方法及MVC Action方法: WebApi方法如下: public class ValuesController : ApiController { // GET api/values public IEnumerable<string> Get() { return new

spring 设置跨域 CORS (Cross Origin Resources Share) 跨域

Spring提供了三种方式跨域 1.CorsFilter 过滤器 2.<mvc:cors> Bean 3.@CrossOrigin注解 以上三种方式本质都是用来配置CorsConfiguration 1.CorsFilter 过滤器 首先创建一个自己的过滤器 这里我创建一个类,名字为MyCorsFilter import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.Url

nginx 图片,js,css等文件允许跨域

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { #允许跨域请求 add_header Access-Control-Allow-Origin '*'; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; expires 30d; access_log o

Nginx 实现AJAX跨域请求

更多:http://www.webyang.net/Html/web/article_135.html 最新的W3C标准里是这么实现HTTP跨域请求的, Cross-Origin Resource Sharing 简单来说,就是跨域的目标服务器要返回一系列的Headers,通过这些Headers来控制是否同意跨域. 这些Headers有: 4 Syntax 4.1 Access-Control-Allow-Origin HTTP Response Header 4.2 Access-Contro

Nginx通过CORS实现跨域(转)

如果前端有nginx方向代理,跨域配置在前端反向代理nginx上 要做跨域域名限制 什么是CORS CORS是一个W3C标准,全称是跨域资源共享(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制. 当前几乎所有的浏览器(Internet Explorer 8+, Firefox 3.5+, Safari 4+和 Chrome 3+)都可通过名为跨域资源共享(Cross-Origin

Nginx服务器中处理AJAX跨域请求的配置方法讲解

Nginx 实现AJAX跨域请求AJAX从一个域请求另一个域会有跨域的问题.那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令.如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 location /{ add_header 'Access-Control-Allow-Origin' 'http://other.subdomain.com'; add_header 'Access-Cont

在nginx日志的access log中记录post请求的参数值

背景:有时程序偶出现参数少了或没有提交到下一个链接Url里后出现问题,如何查呢,最好的办法是在nginx上的加post参数,以定位到问题才有可能对某个UIR的代码出现的问题进行排查. og_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_

CORS跨域与Nginx反向代理跨域优劣对比

最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主要就此展开一下,从前后端及服务器配置.安全性.移植灵活性.扩展性等方面详细对比一下两种方案的优缺,以便于后期在方案选型上对大家有所帮助. 前端配置 CORS方案:跨域时部分浏览器默认不携带cookie,因此为了携带cookie需要设置一下xmlhttprequest的withCrendetails属