摘要:?jiǎn)栴}描述今天遇到個(gè)問(wèn)題,的端和端本來(lái)已經(jīng)聯(lián)通成功,服務(wù)注冊(cè)發(fā)現(xiàn)都正常。后來(lái)開啟了驗(yàn)證功能,端向端注冊(cè)服務(wù)時(shí),需要驗(yàn)證用戶名和密碼,問(wèn)題就出現(xiàn)了。
問(wèn)題描述
今天遇到個(gè)問(wèn)題,Eureka的Server端和Client端本來(lái)已經(jīng)聯(lián)通成功,服務(wù)注冊(cè)、發(fā)現(xiàn)都正常。后來(lái)開啟了驗(yàn)證功能,Client端向Server端注冊(cè)服務(wù)時(shí),需要驗(yàn)證用戶名和密碼,問(wèn)題就出現(xiàn)了。
Client端無(wú)法向Server端注冊(cè)服務(wù),查看日志發(fā)現(xiàn)
ERROR 11612 --- [tbeatExecutor-0] com.netflix.discovery.DiscoveryClient : *****:***** - was unable to send heartbeat! com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112) ~[eureka-client-1.9.0.jar:1.9.0] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-1.9.0.jar:1.9.0] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) ~[eureka-client-1.9.0.jar:1.9.0] at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.9.0.jar:1.9.0] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-1.9.0.jar:1.9.0] at com.netflix.discovery.DiscoveryClient.renew(DiscoveryClient.java:846) ~[eureka-client-1.9.0.jar:1.9.0] at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1399) [eureka-client-1.9.0.jar:1.9.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_31] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_31] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_31] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_31]原因分析
查資料了解到新版(Spring Cloud 2.0 以上)的security默認(rèn)啟用了csrf檢驗(yàn),要在eurekaServer端配置security的csrf檢驗(yàn)為false
解決步驟在 Eureka Server 項(xiàng)目中,增加存放配置的專用包目錄;
添加一個(gè)繼承 WebSecurityConfigurerAdapter 的類;
在類上添加 @EnableWebSecurity 注解;
覆蓋父類的 configure(HttpSecurity http) 方法,關(guān)閉掉 csrf,至此大工告成。
示例代碼@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); super.configure(http); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/71236.html
摘要:?jiǎn)栴}描述為了方便統(tǒng)一管理服務(wù)接口調(diào)用,服務(wù)調(diào)用客戶端采用,實(shí)施下來(lái)一直很順利。負(fù)責(zé)測(cè)試的同事反饋其中一個(gè)接口調(diào)用報(bào)錯(cuò),詭異的事只有這一個(gè)接口報(bào)錯(cuò)。示例代碼區(qū)域信息模型添加時(shí)間最后修改時(shí)間其中是預(yù)先定義的常量,值為 問(wèn)題描述 為了方便統(tǒng)一管理服務(wù)接口調(diào)用,服務(wù)調(diào)用 HTTP 客戶端采用Feign Client,實(shí)施下來(lái)一直很順利。負(fù)責(zé)測(cè)試的同事反饋其中一個(gè)接口調(diào)用報(bào)錯(cuò):Could not...
摘要:因?yàn)槟J(rèn)開啟了所有攻擊防御,需要禁用的防御。版本變化有點(diǎn)大,本次已成功升級(jí)了基礎(chǔ)依賴,及注冊(cè)中心配置中心。其他像代替了及其他組件再慢慢升級(jí),的快速發(fā)展令升級(jí)變得非常蛋疼,本文記錄了升級(jí)過(guò)程中踩過(guò)的所有的坑。。。 Spring Boot 2.x 已經(jīng)發(fā)布了很久,現(xiàn)在 Spring Cloud 也發(fā)布了 基于 Spring Boot 2.x 的 Finchley 版本,現(xiàn)在一起為項(xiàng)目做一次...
摘要:并不會(huì)在微服務(wù)框架中有其它的注冊(cè)機(jī)制。微服務(wù)框架本身不會(huì)維護(hù)服務(wù)組件的啟動(dòng)順序,這一問(wèn)題可以由來(lái)解決。啟動(dòng)先后邏輯為被依賴的服務(wù)先啟動(dòng),只有當(dāng)前服務(wù)所依賴的服務(wù)全部正常啟動(dòng)后,才會(huì)開始啟動(dòng)流程。 概述 這篇文檔,著重解決一個(gè)問(wèn)題:Spring Cloud 融合于 Rainbond 原生 Service Mesh 的正確姿勢(shì)是什么樣子的。 Rainbond 原生支持 Service Me...
摘要:?jiǎn)畏?wù)我們簡(jiǎn)單編寫一個(gè)請(qǐng)求地址,輸出字符串信息,添加依賴如下所示配置文件如下所示服務(wù)名注冊(cè)到服務(wù)端口號(hào)配置該服務(wù)的服務(wù)名稱為,這里對(duì)應(yīng)的。 在上一篇文章Spring Cloud GateWay 路由轉(zhuǎn)發(fā)規(guī)則介紹中我們講解了SpringCloud Gateway內(nèi)部提供的斷言、謂語(yǔ),讓我們可以組合更精確的業(yè)務(wù)場(chǎng)景進(jìn)行請(qǐng)求,既然SpringCloud GateWay擔(dān)任了網(wǎng)關(guān)的角色,在之前...
摘要:配置應(yīng)用名稱,在注冊(cè)中心中顯示的服務(wù)注冊(cè)名稱。配置為為喜歡,即連接注冊(cè)中心使用地址形式,也可以使用,但生產(chǎn)環(huán)境不推薦。配置注冊(cè)中心清理無(wú)效節(jié)點(diǎn)的時(shí)間間隔,默認(rèn)毫秒,即秒。 Spring Cloud的注冊(cè)中心可以由Eureka、Consul、Zookeeper、ETCD等來(lái)實(shí)現(xiàn),這里推薦使用Spring Cloud Eureka來(lái)實(shí)現(xiàn)注冊(cè)中心,它基于Netfilix的Eureka做了二次...
閱讀 1821·2021-11-16 11:41
閱讀 2523·2021-11-08 13:14
閱讀 3171·2019-08-29 17:16
閱讀 3136·2019-08-29 16:30
閱讀 1905·2019-08-29 13:51
閱讀 423·2019-08-23 18:38
閱讀 3290·2019-08-23 17:14
閱讀 704·2019-08-23 15:09