Damon

Damon

跨域解决方案

跨域标准解决方案 => CORS

CORS:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS

附带身份凭证的请求与通配符 在响应附带身份凭证的请求时:

服务器不能将 [Access-Control-Allow-Origin] 的值设为通配符“”,而应将其设置为特定的域, 如:Access-Control-Allow-Origin: https://example.com。 服务器不能将 [Access-Control-Allow-Headers] 的值设为通配符“”,而应将其设置为首部名称的列表, 如:Access-Control-Allow-Headers: X-PINGOTHER, Content-Type 服务器不能将 [Access-Control-Allow-Methods] 的值设为通配符“*”,而应将其设置为特定请求方法名称的列表, 如:Access-Control-Allow-Methods: POST, GET

对于附带身份凭证的请求(通常是 Cookie),服务器不得设置 Access-Control-Allow-Origin 的值为“”。 如果请求携带身份信息cookie前后端需要配置 前端:invocation.withCredentials = true; 后端:Access-Control-Allow-Credentials: true 这是因为请求的首部中携带了 Cookie 信息,如果 Access-Control-Allow-Origin 的值为“”,请求将会失败。 而将 Access-Control-Allow-Origin 的值设置为 https://example.com,则请求将成功执行。

另外,响应首部中也携带了 Set-Cookie 字段,尝试对 Cookie 进行修改。如果操作失败,将会抛出异常。

如果有多个域名

服务器设置白名单

正向代理:本地起一个服务,通过浏览器请求本地同源服务,本地服务转发后台接口实现跨域 反向代理:nginx配置代理,不直接请求api,请求到代理,代理转发到服务器