Ajax跨域和Nginx反向代理
跨域是 浏览器 对其请求的过滤,保证安全
一、一种流行的跨域方式 CORS
CORS是后端配置,在前端请求时,后端的响应报文写入一些允许跨域字段来告诉浏览器不要拦截响应报文并允许跨域
优点:
- 允许任何源访问服务,不产生跨域浏览器不会拦截,但是也不安全
缺点:
- CORS这种技术不允许前端携带Cookie,即使前端形式上设置允许携带,后端依然无法获取,也无法在响应报文设置setCookie回写cookie
当然对于不能携带cookie不是没有解决办法 =>
-
前端要做: 设置请求允许携带凭证
withCredentials: true
-
后端要做:
-
header信息 Access-Control-Allow-Credentials:true
-
Access-Control-Allow-Origin不可以为 “*”,因为 “*” 会和 Access-Control-Allow-Credentials:true 冲突,需配置指定的特定的地址
-