問題タブ [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.el7
elrepo のカーネルを使用する CentOS 7 - k8s ネットワーキング:
cilium -1.6.4
- 証明書:
cert-manager-0.12
nowebhook- ClusterIssuer CA cert = プライベート PKI からインポート
- K8s 外部ロードバランサ:
metallb-0.8.3
kubectl
istio
K8s クラスタで使用
istio-egressgateway
istio docsに示されているように再デプロイされました
これは、.yaml
IP アドレスを介して外部サービスを指すようにわずかな変更を加えて、例からほとんどコピーして貼り付けたものです。
経由で外部サービスにクエリを作成する場合、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 クラスター発行者を使用して外部サービスの証明書を配信しました。
私が欠けているものについて何か手がかりはありますか?? これは設定ミスですか、それともバグですか??
どんな助けでも本当に感謝します、私はクリスマス休暇の前からこれにこだわっています
乾杯