問題タブ [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.
fastapi - Starlette/FastAPI でクライアント証明書の検証 (mTLS) を行う方法
かなり単純な API を実装するために FastAPI フレームワークを使用することを検討していますが、mTLS をサポートする必要があります。AFAIK FastAPI は Starlette に基づいています。Starlette でクライアント証明書を確認することはできますか?
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 クラスター発行者を使用して外部サービスの証明書を配信しました。
私が欠けているものについて何か手がかりはありますか?? これは設定ミスですか、それともバグですか??
どんな助けでも本当に感謝します、私はクリスマス休暇の前からこれにこだわっています
乾杯