【问题】
使用nginx作为代理服务器,nginx.conf配置文件中已添加
location / {
proxy_pass http://127.0.0.1:88383;
add_header Access-Control-Allow-Origin "*";
}
使用普通的post请求时,一切ok,但是post请求中的header增加了自定义的字段,就提示跨域问题。
【分析】
通过两次post的抓包发现正常的请求是post方式,而出问题的是OPTIONS方式,原来是头部信息中增加了自定义字段后,会通过发OPTIONS请求进行预检,而服务器并没有处理这个OPTIONS预检操作,所以失败。
预检就相当于增加了一次请求,建议自定义的头部信息字段放到body中,避免预检操作。