2017-11-10 11 views
0

Googleマップ距離行列apiへのアクセスで配置istioが注入されています。私が--includeIPRanges 10.0.0.0/8でistioctl kube-injectを実行すると、うまくいくように見えます。私はこのフラグを削除し、代わりに退出ルールを適用する場合、それは動作しません。出力Istioルールは機能しません

apiVersion: config.istio.io/v1alpha2 kind: EgressRule metadata: name: google-egress-rule namespace: microservices spec: destination: service: "maps.googleapis.com" ports: - port: 443 protocol: https - port: 80 protocol: http

両方を、展開および出力ルールは同じ名前空間(microservices)です。

私の欠陥はどこですか?

答えて

2

curl maps.googleapis.comを実行すると、https://developers.google.com/maps/にリダイレクトされます。ここ

2つの問題:

  1. あなたは現在あなたがcurl http://developers.google.com/maps:443のように、ポート443へのHTTPリクエストを発行することにより、HTTPS外部のサイトにアクセスする必要がdevelopers.google.com
  2. ための追加EgressRuleを指定しています。 Istioプロキシはdevelopers.google.comへのhttps接続を開きます。残念ながら、--includeIPRangesを使用している場合を除いて、他の方法はありません。
+0

Vadimさん、ありがとうございました。この時点でmaps.googleapis.comはリダイレクトしません。これはルートドメイン(これは私が最初に想定したものです)のみです。問題2ですでに述べたように、ポート値として443を使用してhttpを使用する必要があります。問題はJava SDKに固定URLがあることですが、反射マジックでは可能でした。 あなたの答えをありがとう:-) – user3232739

+0

それは助けて嬉しい:) –