問題タブ [mtls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1754 参照

fastapi - Starlette/FastAPI でクライアント証明書の検証 (mTLS) を行う方法

かなり単純な API を実装するために FastAPI フレームワークを使用することを検討していますが、mTLS をサポートする必要があります。AFAIK FastAPI は Starlette に基づいています。Starlette でクライアント証明書を確認することはできますか?

0 投票する
0 に答える
1746 参照

kubernetes - 外部サービス用の Istio Egress MTL

私は現在(そして失敗して)istio-egressgateway外部の K8s クラスタ サービスにアクセスするために MTL をセットアップしようとしています。istio docsで指定されている intruction に従っていますが、何も期待どおりに機能せず、どこが間違っているのかわかりません。

環境

  • VMWare ESXi の下にある 3 つの VM (1 つのマスター、2 つのノード)
  • OS : 5.2.10-1.el7elrepo のカーネルを使用する CentOS 7
  • k8s ネットワーキング:cilium -1.6.4
  • 証明書: cert-manager-0.12nowebhook
    • ClusterIssuer CA cert = プライベート PKI からインポート
  • K8s 外部ロードバランサ:metallb-0.8.3

kubectlistioK8s クラスタで使用

istio-egressgatewayistio docsに示されているように再デプロイされました

これは、.yamlIP アドレスを介して外部サービスを指すようにわずかな変更を加えて、例からほとんどコピーして貼り付けたものです。

経由で外部サービスにクエリを作成する場合、HTML Web コードを取得する必要がありますが、代わりに、 HTTPScurlではなく HTTP でクエリを実行しようとします。. デバッガー ポッドからは、Citadel 証明書を使用して HTTP を HTTPS に変換する必要がありますistio-proxy

確認するproxy-statusと、次のようになります

公式istioドキュメント.yamlによると、これは、の設定ミス、またはistioバグのいずれかを意味する可能性があります

エンドポイントを確認すると、すべて問題ないように見えます

そうしないと、デバッガー ポッドistio-proxyのログに次のエラーが表示されます。しかし、外部証明書は Pod レベルではなく、再コンパイルされたistio-egressgatewayものです (これも機能的ではありません。私は istio のドキュメントに従っているだけです)。なぜ istio-proxy は外部証明書を探しているのでしょうか??

パイロット ログは、istio-proxyデバッガー ポッドのコンテナーが外部サービス CA 証明書を探し続けることを示していますが、この証明書はegressgateway

istio-egressgatewayすべてにおいて OK の縫い目

そしてもちろん、証明書は に存在するはずですistio-egressgateway。AC とそのシークレットが既にクラスター上にあるように、cert-manager クラスター発行者を使用して外部サービスの証明書を配信しました。

私が欠けているものについて何か手がかりはありますか?? これは設定ミスですか、それともバグですか??

どんな助けでも本当に感謝します、私はクリスマス休暇の前からこれにこだわっています

乾杯