zoukankan      html  css  js  c++  java
  • nginx配置跨域之后前后端调用,二次请求

    公司项目从前后端不分离转到前后端分离

    首先遇到的问题就是前后端分离的时候跨域的问题

    但是当跨域成功配置并且能访问成功的时候发现

    每次客户端的请求都会发送两次

    第一次是OPTIONS的请求,然后才是正常的请求

    查阅资料得到的结论是:

    第一个OPTIONS的请求是由Web服务器处理跨域访问引发的。

    OPTIONS是一种“预检请求”,浏览器在处理跨域访问的请求时如果判断请求为复杂请求,则会先向服务器发送一条预检请求,根据服务器返回的内容浏览器判断服务器是否允许该请求访问。如果web服务器采用 CORS 的方式支持跨域访问,在处理复杂请求时这个预检请求是不可避免的。

    一句话概括:因为我们公司的token通过header传递所以导致了浏览器判断该请求是复杂请求,所以要先通过OPTIONS请求进行预检查
    解决方法
    设置Access-Control-Max-Age(指定本次预检请求的有效期,单位秒)

    nginx配置增加

    location /wechat/ { 
    add_header ‘Access-Control-Max-Age’ 86400; 
    proxy_pass http://wechat/rest/; 
    }
  • 相关阅读:
    CSS边框(圆角、阴影、背景图片)
    CSS3浏览器兼容
    HTML5全局属性
    HTLM5新增属性
    HTML5标签
    如何开始使用bootstrap
    重新了解Java基础(三)-运行机制&HelloWorld
    重新了解Java基础(二)-Java的特性
    Java关键字之native
    重新了解Java基础(一)
  • 原文地址:https://www.cnblogs.com/heroljy/p/10255431.html
Copyright © 2011-2022 走看看