2017-12-22 10 views
0

Istio ingressでCORSを有効にすることに問題があります。 Istio Ingressのドキュメントでは、 "ingresskubernetes.io"注釈は無視されます。 Istio入力時にCORSを有効にすることはできますか?Istio ingress-enabled cors

私の設定での入力は仮想ホストを使用しており、アプリケーションは「api.my-domain.com」に公開されています。 Webアプリケーションは、アプリケーションを要求しようとするとこのエラーで失敗します。「要求されたリソースに「アクセス制御許可の原点」ヘッダーが存在しません。したがって、Origin(...)はアクセスが許可されません。

誰かがこの問題の解決策を提案できますか?

Ngnixの入力コントローラでは、"ingress.kubernetes.io/enable-cors": "true"を使うことができましたが、このアノテーションは機能しません。

答えて

1

Istioには、宛先サービスのcorsPolicyを指定するルートルールを追加できます。 Istio 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 
関連する問題