所有非简单请求 在正式跨域的请求前,浏览器会根据需要,发起一个“PreFlight”(也就是Option请求),用来让服务端返回允许的方法(如get、post),被跨域访问的Origin(来源,或者域),还有是否需要Credentials(认证信息)
从这张图中我们可以看出,非简单请求在发送真正的请求前会发送一次Preflight Request,接收一个Preflight Response。(这也是Preflight恶心的地方)。
所以当请求访问网关时 网关需要支持 options请求 并且filter里需要对 options 请求放行
而资源端需要对 options 请求放行 比如说spring security 里需要配置对 options 请求放行
http.authorizeRequests().requestMatchers(CorsUtils::isPreFlightRequest).permitAll();
这个是也是大坑 需要谨记==