問題タブ [spring-boot-admin]

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 投票する
2 に答える
1829 参照

spring-boot - Spring Boot 管理者: このリソースにアクセスするには、完全な認証が必要です

マイクロサービスのリバース プロキシとセキュリティに netflix oss を使用しています。ここで言及されている jhipster パターンに従っていますhttps://www.jhipster.tech/microservices-architecture/ 。ここで、UI アプリケーションからのリクエストは Api ゲートウェイであるゲートウェイに送られ、バックエンド マイクロサービスへのリクエストをプロキシします。認証に jwt を使用しています。マイクロサービスと eureka サーバーに登録する API ゲートウェイを監視するダッシュボードが必要でした。別の Spring Boot 管理サーバーを開始して、eureka サーバーに登録し、マイクロサービスをポーリングしました。メトリクスエンドポイントのゲートウェイですが、例外が発生しています

このリソースにアクセスするには、完全な認証が必要です

これは、API ゲートウェイ レベルとマイクロサービス レベルの両方で jwt をフィルタリングするフィルターによってスローされます。また、無効にしようとしました

しかし、まだ運がありません。Spring Boot管理者がマイクロサービスとAPIゲートウェイを正常にポーリングできるようにするために必要な変更をガイドするのを手伝ってもらえますか?

私は次のアプローチを試しました

最初に、web.ignoring().antMatchers("/actuator/**") を有効にして、スプリング セキュリティによってアクチュエータ エンドポイントが無視されるようにしましたが、このアプローチは API のリスクを冒します

2番目のアイデア:

spring security で 2 つのフィルターを有効にすると、最初のフィルターはアクチュエーター エンドポイントの基本認証を使用するスプリング ブート管理者用になり、2 番目のフィルターは残りのすべての API とダウンストリーム API の jwt 認証になります。

アクチュエータ エンド ポイント用の 1 つのフィルタと API 用の 1 つのフィルタの 2 つのフィルタを有効にしましたが、これらのフィルタは完全に機能していますが、SBA に接続できません。