繁体   English   中英

为Consul,网关和微服务配置HTTPS会导致ZuulException:转发错误

[英]Configuring HTTPS for Consul, gateway and microservice results in ZuulException: Forwarding error

情况

我实现了一个带有微服务网关,一个微服务应用和Consul的JHipster微服务应用,用于服务发现。 只要我使用HTTP,一切都可以正常工作,但是考虑在生产中使用未加密的连接不是可行的选择。

因此,我将所有配置文件修改为使用TLS / HTTPS,如下所示:

网关/微服务,application-tls.yml:

server:
    ssl:
        key-store: classpath:config/tls/keystore.jks
        key-store-type: JKS
        key-alias: selfsigned
        key-store-password: password
        ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
        enabled-protocols: TLSv1.2
jhipster:
    http:
        version: V_2_0
spring:
    cloud:
        consul:
            discovery:
                scheme: https

网关和微服务TLS配置相同,除了密钥库的内容(它们每个都有自己的密钥对)。

问题

Consul和两个Spring Boot应用程序启动时没有任何错误,并且已在Consul中正确注册。

但是,通过Web浏览器访问Gateway应用程序会在Gateway应用程序中导致以下错误:

图形用户界面

Http failure response for https://localhost:8080/<MICROSERVICE-NAME>/api/<RESOURCE-NAME>: 500 OK

堆栈跟踪

com.netflix.zuul.exception.ZuulException: Forwarding error
...
at de.<MY-ORG>.<MY-PROJECT>.gateway.security.jwt.JWTFilter.doFilter(JWTFilter.java:38)
...
Caused by: com.netflix.client.ClientException: null
...
Caused by: java.lang.RuntimeException: org.apache.http.NoHttpResponseException: <MY-IP>:8081 failed to respond

8081是我的微服务应用程序的端口。

结果,微服务的API不可访问,并且无法使用任何功能(例如CRUD)。

我自己解决了。 使用的是旧版本的JHipster(5.8.2)。 升级到6.2.0可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM