天天看点

Istio - TrafficManagement - CorsPolicy

> 出于安全考虑,浏览器通过跨域资源共享CORS(Cross Origin Resource Sharing)机制克允许web应用服务器进行跨域访问控制,使跨域数据传递安全进行。在实现上是在HTTP Header中追加一些额外的信息来通知浏览器准许以上访问。

#### 什么场景需要用到跨域策略

通常,会利用CORS进行跨域访问控制,例如允许哪一些资源被哪一个域名进行跨域访问,以及可以定义资源的访问方式和生命周期。

Istio - TrafficManagement - CorsPolicy
#### 通过例子来理解
Istio - TrafficManagement - CorsPolicy
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。

继续阅读