Https-config-dosn';我不能在zuul工作
我有一个带有zuul的路由器应用程序和许多在后端运行的服务,来自客户端的请求由zuul路由到它们的服务 在http上一切正常,但当我将路由器和所有服务配置为https时,出现以下错误:Https-config-dosn';我不能在zuul工作,https,routing,microservices,spring-cloud,netflix-zuul,Https,Routing,Microservices,Spring Cloud,Netflix Zuul,我有一个带有zuul的路由器应用程序和许多在后端运行的服务,来自客户端的请求由zuul路由到它们的服务 在http上一切正常,但当我将路由器和所有服务配置为https时,出现以下错误: javax.net.ssl.SSLPeerUnverifiedException: Certificate for <127.0.0.1> doesn't match any of the subject alternative names: [] at org.apache.http.con
javax.net.ssl.SSLPeerUnverifiedException: Certificate for <127.0.0.1> doesn't match any of the subject alternative names: []
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:467) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:397) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ~[httpclient-4.5.3.jar:4.5.3]
以及其中一项服务的yml文件:
server:
compression:
enabled: true
port: 8080
ssl:
key-store: classpath:keystore.jks
key-store-password: password
key-password: matin1234
首先我想知道https over zuul的概念是否正常工作,其次我想知道如何解决我的问题
注意:我没有注册Eureka服务器。发生这种情况的原因是您的证书使用“使用者名称(DN)”自签名,与127.0.0.1不匹配。这里有两个选项:
- 创建DN=127.0.0.1的证书
- 它会影响性能。想象一下,所有的微服务都使用HTTPS进行内部通信。HTTPS加密、解密、握手等。与普通HTTP通信相比,消耗的资源要多得多
- 支持所有微服务的HTTPS会让你哭泣。在大型系统中,数百(或数千)个微服务因证书过期而更改证书将是一件令人头痛的事情
可能有这样一种情况,即您必须在微服务之间使用HTTPS才能实现更高层次的安全性,但这种情况并不常见,而且主要与银行业务相关。另一方面,您可以将HTTPS添加到具有非常敏感数据的服务中,而其他服务可以保留在HTTP上。这更多的是您的要求问题。发生这种情况的原因是您的证书使用“主题名称(DN)”自签名,与127.0.0.1不匹配。这里有两个选项:
- 创建DN=127.0.0.1的证书
- 它会影响性能。想象一下,所有的微服务都使用HTTPS进行内部通信。HTTPS加密、解密、握手等。与普通HTTP通信相比,消耗的资源要多得多
- 支持所有微服务的HTTPS会让你哭泣。在大型系统中,数百(或数千)个微服务因证书过期而更改证书将是一件令人头痛的事情
zuul.sslHostnameValidationEnabled=false
zuul.sslHostnameValidationEnabled=false
此错误是否与主机名验证有关?您使用的是哪个版本的Spring Cloud?它的版本是1.5.21.5.2不是一个版本。您使用的是Angel、Brixton、Camden还是Dalston?此错误是否与主机名验证有关?您使用的是哪个版本的Spring Cloud?它的版本是1.5.21.5.2不是一个版本。你是在使用Angel、Brixton、Camden还是Dalston?必须创建路由器的Dn或服务应用程序的Dn?要解决这个问题,我想应该是服务应用程序。我已经用HTTPS、API网关和微服务的概念更新了我的答案。希望您会发现它很有用。@dzatorsky:假设API网关部署在公共网络上,例如:Heroku。它将如何与托管在专用网络上的服务交互?服务注册中心需要托管在哪里,以便它可以在专用网络上注册服务,并帮助API网关识别它们?必须创建路由器Dn或服务应用程序Dn?要解决此问题,我想应该是服务应用程序。我已用有关