4

我是spring cloud的新手,在我的项目(一个使用spring boot构建的微服务项目)中,我使用了spring cloud版本的Brixton.RC2,它运行良好。但是当我尝试将其版本升级到 Brixton.RELEASE 时,该项目不适用于 zuul(如果我直接访问 web 微服务,它可以工作,但如果我通过 zuul 访问,它不起作用),我没有更改任何内容在配置中。maven依赖是:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.3.5.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-parent</artifactId>
            <version>Brixton.RC2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

谁能指定我的项目出了什么问题?

谢谢和最好的问候!!

4

1 回答 1

1

即使我有同样的问题。我在 Brixton.M4 并升级到 Brixton.Release 。发生的事情是,当您登录时,请求会到达网关并被路由到 ouath 服务器。但是当 zuul 路由登录请求时,标头丢失了。即缺少base64 的clientId:clientSecret 授权标头。这是因为 zuul 中的敏感标头,这是 Spring Cloud Netflix 1.1 中的新功能。请参阅https://github.com/spring-cloud/spring-cloud-netflix/blob/master/docs/src/main/asciidoc/spring-cloud-netflix.adoc#cookies-and-sensitive-headers了解更多信息.

添加

zuul.routes.myroute.sensitiveHeaders=''

到您的 application.yml 或 application.properties ,这会将sensitiveHeaders 的默认值覆盖为空。

于 2016-06-24T12:19:41.947 回答