我使用Spring-Boot-Admin來監視其執行程序端點使用基本身份驗證保護的SpringBoot應用程序。所需的憑據將傳送到Spring-Boot-Admin(SBA),如documentation中所述。 SBA本身也使用spring-boot-admin-server-ui-login
和提供的SecurityConfiguration(基於文檔&示例應用程序,請參閱Github Repo獲取代碼)進行保護。 要監視的應用程序和SBA都通過docker進行部署。Jolokia端點上的Spring Boot Admin:401導致身份驗證失敗
登錄到SBA工作正常,我可以看到應用程序狀態以及健康結果。對於一些內容,我看到一個嵌套的登錄屏蔽。當我點擊「日誌記錄」或「JMX」時,我被重定向到登錄掩碼:
在瀏覽器網絡選項卡中,我可以看到爲端點/jolokia
返回401。之後的所有請求似乎都被轉發到登錄頁面。
我有以下問題:
- 我爲什麼要退出,如果一個請求的應用程序失敗?這是一個錯誤?
- 401的來源是什麼? SBA或我的應用程序?我知道SBA代理請求應用程序。根據我的應用程序的訪問日誌,當我登錄到SBA時,沒有請求到
/jolokia
。這是否意味着401直接由SBA返回?它的日誌雖然沒有任何相關性。 - 訪問
/jolokia
端點直接正常工作。即使我使用SBA使用的相同(代理)URL(例如http://XXX:8090/api/applications/XXX/jolokia/
),它也可以工作。這是從SBA內部執行時有什麼不同?
我試着在SBA中找到更多的錯誤細節,但到目前爲止沒有找到正確的日誌記錄選項。它們或者不包含任何相關的或者太多的信息(例如Spring Security),這些信息似乎並不相關。記錄完整的響應可能會幫助...
編輯:我剛剛意識到,該請求/jolokia
端點實際上包含不同的Cookie(曲奇:JSESSIONID = 4E51B84AE15A6890500F967B23EB92AC),比要求的工作端點(例如/metrics
) 。這很奇怪,但可能解釋了爲什麼/jolokia
端點返回401.現在的問題是:爲什麼它發送一個不同的cookie?