进入 - 进入角色

问题描述 投票:2回答:1

我在Istio ingress上启用CORS时遇到问题。正如Istio Ingress文档所述,“ingresskubernetes.io”注释被忽略。是否可以在Istio ingress上启用CORS?

我的配置中的入口使用虚拟主机,应用程序在“api.my-domain.com”上公开。如果Web应用程序尝试请求应用程序,则会因此错误而失败:“请求的资源上没有'Access-Control-Allow-Origin'标头。因此不允许Origin(...)访问。”

有人可以建议解决这个问题吗?

使用Nginx入口控制器,我可以使用"ingress.kubernetes.io/enable-cors": "true",但现在这个注释不起作用。

istio
1个回答
2
投票

在Istio中,您可以添加路由规则以指定目标服务的corsPolicy。在Istio Ingress的情况下,必须将Ingress的backend服务指定为目的地服务。例如,请参阅Istio Bookinfo Sample的此路由规则:

apiVersion: config.istio.io/v1alpha2
kind: RouteRule
metadata:
  name: cors
spec:
  destination:
    name: productpage
  corsPolicy:
    allowOrigin:
      - http://example.com
    allowMethods:
      - POST
      - GET
      - OPTIONS
    allowHeaders:
      - content-type
    exposeHeaders:
      - x-custom-header
    maxAge: 300s
    allowCredentials: true
© www.soinside.com 2019 - 2024. All rights reserved.