欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud zuul 網(wǎng)關(guān)如何解決跨域問題

 更新時間:2021年06月25日 10:29:06   作者:gongyanwolf  
這篇文章主要介紹了SpringCloud zuul網(wǎng)關(guān)解決跨域問題的具體實(shí)現(xiàn)方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

跨域

在SpringCloud中 zuul 和springboot 要同時配置才能實(shí)現(xiàn)網(wǎng)關(guān)處理跨域

解決Access to XMLHttpRequest at ‘http://192.168.2.173:8001/energy-base/groupType/getPageByType?timestamp=1557886425725' from origin ‘http://localhost:3000' has been blocked by CORS policy: The ‘Access-Control-Allow-Origin' header contains multiple values ‘http://localhost:3000, *', but only one is allowed.

Access-Control-Allow-Origin只能有一個值解決方案

SpringBoot代碼

@Configuration
public class CorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true); // 允許cookies跨域
        config.addAllowedOrigin("*");// #允許向該服務(wù)器提交請求的URI,*表示全部允許,在SpringMVC中,如果設(shè)成*,會自動轉(zhuǎn)成當(dāng)前請求頭中的Origin
        config.addAllowedHeader("*");// #允許訪問的頭信息,*表示全部
        config.setMaxAge(7200L);// 預(yù)檢請求的緩存時間(秒),即在這個時間段里,對于相同的跨域請求不會再預(yù)檢了
        config.addAllowedMethod("*");// 允許提交請求的方法,*表示全部允許
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }
}

zuul yml配置

zuul:
  #需要忽略的頭部信息,不在傳播到其他服務(wù)
  sensitive-headers: Access-Control-Allow-Origin
  ignored-headers: Access-Control-Allow-Origin,H-APP-Id,Token,APPToken
  max:
    host:
      connections: 5000 #最大請求時間
  host:  #等待
    socket-timeout-millis: 60000
    connect-timeout-millis: 60000

用SpringCloud zuul中遇到的坑

最近筆者在研究和使用SpringCloud Zuul作為微服務(wù)的網(wǎng)關(guān)。在這個微服務(wù)網(wǎng)關(guān),我們集成了權(quán)限管理和路由轉(zhuǎn)發(fā)到后端,后端的微服務(wù)有用SpringBoot開發(fā)的,也有用Python Django 開發(fā)的。

但是有的服務(wù)的調(diào)用會出返回下面的消息

{"timestamp":"2020-09-07 11:45:38","status":500,
"error":"Internal Server Error","exception":"com.netflix.zuul.exception.ZuulException",
"message":"GENERAL"
}

上面的錯誤信息不是每次都必現(xiàn)的,而且不是每個后端API都會出現(xiàn)的;

對于那些返回時間比較長的服務(wù)才出現(xiàn)的。

第一反應(yīng)是修改熔斷器的連接時間和讀取超時時間。

ribbon.ConnectTimeout=60000
ribbon.ReadTimeout=60000

而且筆者的所有的配置都是對的,但是結(jié)果還是不生效。接著筆者又把SpringCloud Zuul的版本升級到最新版本,還是沒有把問題解決。

后面才發(fā)現(xiàn)是沒有把spring-retry的依賴加入pom.xml 里面來,所以配置的retry的參數(shù)都不生效,而且日志也不提示缺少了spring-retry的依賴,個人覺得這塊zuul代碼需要完善一下,只要填寫retry的參數(shù),就要判斷是否有spring-retry的依賴。

加上spring-retry的依賴后,問題解決!

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
</dependency>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于Java中的可見性和有序性問題

    關(guān)于Java中的可見性和有序性問題

    這篇文章主要介紹了關(guān)于Java中的可見性和有序性問題,Java在誕生之初就支持多線程,自然也有針對這三者的技術(shù)方案,今天就學(xué)習(xí)一下Java如何解決其中的可見性和有序性導(dǎo)致的問題,需要的朋友可以參考下
    2023-08-08
  • javaweb上傳下載實(shí)例完整版解析(上)

    javaweb上傳下載實(shí)例完整版解析(上)

    這篇文章主要為大家詳細(xì)解析了javaweb上傳下載實(shí)例,本文重點(diǎn)在于文件上傳功能的實(shí)現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 創(chuàng)建自定義的Java注解類的方法

    創(chuàng)建自定義的Java注解類的方法

    這篇文章主要介紹了創(chuàng)建自定義的Java注解類的方法,主要部分為創(chuàng)建一個帶有Java類型@interface的新類型,需要的朋友可以參考下
    2015-07-07
  • java序列化與反序列化操作實(shí)例分析

    java序列化與反序列化操作實(shí)例分析

    這篇文章主要介紹了java序列化與反序列化操作,結(jié)合實(shí)例形式分析了java序列化與反序列化的概念與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-10-10
  • 詳解MyBatis Plus中分頁插件的使用

    詳解MyBatis Plus中分頁插件的使用

    這篇文章主要為大家詳細(xì)介紹了MyBatis Plus中分頁插件使用的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-02-02
  • Springboot配置圖片虛擬映射示例代碼

    Springboot配置圖片虛擬映射示例代碼

    這篇文章主要給大家介紹了關(guān)于Springboot配置圖片虛擬映射的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用springboot具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-11-11
  • 使用java實(shí)現(xiàn)備份和恢復(fù)SQLServer表數(shù)據(jù)

    使用java實(shí)現(xiàn)備份和恢復(fù)SQLServer表數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了如何使用java實(shí)現(xiàn)備份和恢復(fù)SQLServer表數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • 如何通過java獲取文件名和擴(kuò)展名

    如何通過java獲取文件名和擴(kuò)展名

    這篇文章主要介紹了如何通過java獲取文件名和擴(kuò)展名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • spring boot security設(shè)置忽略地址不生效的解決

    spring boot security設(shè)置忽略地址不生效的解決

    這篇文章主要介紹了spring boot security設(shè)置忽略地址不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • IDEA插件FindBugs的使用詳解

    IDEA插件FindBugs的使用詳解

    這篇文章主要介紹了IDEA插件FindBugs的使用詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論