1. 程式人生 > >Spring Boot2中Spring Security導致Eureka註冊失敗

Spring Boot2中Spring Security導致Eureka註冊失敗

將Spring Boot升級到2.0,Spring Cloud升級到Finchley.M8時,Eureka註冊就報錯了

Eureka Server配置:

server.port=9011
spring.application.name=eureka-server 

spring.security.user.name=username
spring.security.user.password=pass

eureka.instance.hostname=localhost 
eureka.client.register-with-eureka=false 
eureka.client.fetch
-registry=false eureka.client.service-url.defaultZone=http://username:[email protected]:9011/eureka/

Eureka Client配置:

server.port=8088
spring.application.name=eureka-client 

spring.security.basic.enabled=true 
spring.security.user.name=username
spring.security.user.password=pass

eureka.instance
.hostname=localhost eureka.client.service-url.defaultZone=http://username:[email protected]:9011/eureka/

錯誤資訊如下:

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 
        at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient
.execute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) ~[eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829) ~[eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:104) [eureka-client-1.8.6.jar:1.8.6] at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:88) [eureka-client-1.8.6.jar:1.8.6] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_92] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_92] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_92] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_92] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_92] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_92] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92

去掉Spring Security後問題解決,可以知道問題是Spring Security引起的

CSRF保護預設是開啟的,可以禁用掉即可

解決方案如下:

@EnableWebSecurity
static class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
    }
}

更多技術分享請關注微信公眾號:猿天地
猿天地微信公眾號

相關推薦

Spring Boot2Spring Security導致Eureka註冊失敗

將Spring Boot升級到2.0,Spring Cloud升級到Finchley.M8時,Eureka註冊就報錯了 Eureka Server配置: server.port=9011 spring.application.name=eureka-se

沒使用Spring Cloud的版本管理導致Eureka服務無法註冊Eureka服務註冊中心

esc ice 修改 encoding -s put http nag scrip 創建了一個Eureka Server的服務註冊集群(兩個Eureka服務),都能相互註冊,寫了一個Eureka客戶端服務無法註冊到服務發現註冊中心 註冊中心1: 註冊中心2:

一、Spring Cloud 2.x系列之 eureka註冊中心單機

一、簡介 Spring Cloud Eureka是Spring Cloud Netflix專案下的服務治理模組。而Spring Cloud Netflix專案是Spring Cloud的子專案之一,主要內容是對Netflix公司一系列開源產品的包裝,它為Spring Boot應用提供了自

spring bootspring security實現單點登入,傳統模式(一)

單點登入是什麼? 一個系統中可能會引用別的很多系統。單點登入就是解決,一次登入,就可以訪問所有的系統。 每次瀏覽器向一個域名傳送http請求,會去查詢域名的cookie資訊拼接到http的header中傳送到伺服器。 cookie不能跨域。這個域是瀏覽器請求的域名,哪怕他們都是訪問一

Spring Cloud 使用zookeeper作為服務註冊中心與配置中心

前段時間,瞭解了通過spring-cloud-config-server與spring-cloud-eureka-server作為配置中心與註冊中心,同時瞭解到基於zookeeper或consul可以完成同樣的事情,所以必須瞭解一下,這樣有利於實際工作的技術對比

spring boot spring security使用資料庫儲存許可權

WebSecurityConfig package com.maven; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowire

Spring Cloud使用Consul作為服務註冊中心時如何獲得local service id?

微服務是目前非常流行和實用的軟體架構設計。Spring Cloud是java開發領域最受歡迎也是常用的微服務框架。Spring Cloud Finchley版本已經發布,與此同時Eureka 2.0的開源開發工作也停止了。因此很多專案開始轉向使用Consul作為

基於spring boot2.0+spring security +oauth2.0+ jwt微服務架構

ros emp 服務 應用程序 ken res load uri 提高 github地址:https://github.com/hankuikuide/microservice-spring-security-oauth2# 項目介紹該項目是一個演示項目,主要演示了,基於s

spring boot Spring data jpa數據庫表字段命名策略

_id -s ber data 駝峰命名 org body strategy 命名 spring boot 中Spring data jpa命名策略 數據庫,表字段命名是駝峰命名法(UserID),Spring data jpa 自動更新之後是 user_id, 表字段不對

簡單介紹一下Spring / javaSpring框架7大核心模組的作用,如何在面試侃侃而談?/ Spring體系常用專案一覽

如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產生,學起來給人一種凌亂的感覺,我就在這裡總結一下,理順頭緒。 Spring Spring 概述 Spring 是一個開源框架,是為了解決企業應用程式開發複雜性而建立的(替代更加重量級的企業級Java

spring-boot2.0 + spring cloud 的Finchley版的 M7 新用法解讀

最近在spring 官網上很火熱, 因為spring-boot 2.0 版本和spring-cloud Finchley 的realese。今天使用了sc 的F版的M7 進行了sc 的案例的操作, 遇到了不少問題, 接下來和各位分享一下:1、新增依賴時踩的坑:根據官方文件新增

spring-bootspring.jackson.date-format失效及解決辦法

spring-boot 版本 <parent> <groupId>org.sp

Spring Cloud Eureka服務註冊中心的搭建

1:首先在idea上面建立一個Maven工程,命名為Sprng-Boot-eureka-test 建立的Maven工程中的pom檔案如下 2:在建立的Sprng-Boot-eureka-test工程下面新建一個module為eureka-server

Spring Coud 2.0 Client 使用 https 註冊eureka server (一)

使用Spring Cloud 元件搭建微服務時,預設情況下,eureka server 與 eureka client 之間的註冊與通訊都是 通過 http 方式,為了使交換更加安全,需要調整為Https,在這前大家需要自己百度一下HTTPS工作原理,這裡就不介紹了。

【夯實Spring Cloud】Spring CloudEureka服務註冊與發現詳解

本文屬於【夯實Spring Cloud】系列文章,該系列旨在用通俗易懂的語言,帶大家瞭解和學習Spring Cloud技術,希望能給讀者帶來一些乾貨。系列目錄如下: 【夯實Spring Cloud】Dubbo沉睡5年,Spring Cloud開始崛起! 【夯實Spring C

Spring-cloud微服務實戰【三】:eureka註冊中心(

  回憶一下,在上一篇文章中,我們建立了兩個springboot專案,並且在consumer專案中通過restTemplate進行HTTP通訊,成功訪問到了producer提供的介面,思考一下這樣的實現方式有什麼問題?   1.consumer必須知道producer的IP,才能呼叫對方的HTTP介面,並且在

Spring CloudEureka常見問題總結

rose cte registry 應該 per 端口 ict 使用配置 ipaddress Spring Cloud中,Eureka常見問題總結。 1 eureka.environment: 指定環境 參考文檔: 1 eureka.datacenter: 指定數據中心

企業分布式微服務雲SpringCloud SpringBoot mybatis (六)Spring Boot使用Spring Security進行安全控制

spring ron public 控制 應用 app ebs cloud 來源 準備工作 首先,構建一個簡單的Web工程,以用於後續添加安全控制,也可以用之前Chapter3-1-2做為基礎工程。若對如何使用Spring Boot構建Web應用,可以先閱讀《Spring

Spring Cloud(二):服務註冊與發現 Eureka【Finchley 版】

LEDE .com Go eureka clean 英文逗號 開始 效果 sam Spring Cloud(二):服務註冊與發現 Eureka【Finchley 版】 發表於 2018-04-15 | 更新於 2018-05-07 | 上一篇主要介紹了相關理論,這一

Spring Boot使用Spring Security實現權限控制

unicode then add sta spa 攔截器 nco throw views Spring Boot框架我們前面已經介紹了很多了,相信看了前面的博客的小夥伴對Spring Boot應該有一個大致的了解了吧,如果有小夥伴對Spring Boot尚不熟悉