> 出于安全考虑,浏览器通过跨域资源共享CORS(Cross Origin Resource Sharing)机制克允许web应用服务器进行跨域访问控制,使跨域数据传递安全进行。在实现上是在HTTP Header中追加一些额外的信息来通知浏览器准许以上访问。
#### 什么场景需要用到跨域策略
通常,会利用CORS进行跨域访问控制,例如允许哪一些资源被哪一个域名进行跨域访问,以及可以定义资源的访问方式和生命周期。
#### 通过例子来理解 nginx 服务上 部署的是 yekangming.com 中的页面,在页面中需要引用 carryyip.com 中的图片,不是同一域名、同一端口、同一协议则会发生跨域的问题,通过在 httpd 服务上允许来自 yekangming.com 的请求则可以解决跨域的问题。apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpd-vs
spec:
hosts:
- httpd-service
http:
- route:
- destination:
host: httpd-service
corsPolicy:
allowOrigin:
- yekangming.com
allowMethods:
- GET
maxAge: "2d"
对满足条件的请求配置跨域资源共享,其实都是被转化为 Access-Control-* 的Header。