Spring云网关主机和端口的组合需要TLS



我正在使用spring云网关来集中所有请求的微服务,然后我改为使用https。到目前为止,一切都很好,我创建了我的自签名证书,并在每个微服务中使用它,并对发送GET,POST,DELETE到每个微服务进行了测试,一切都很好,然后问题来了,当我试图通过spring云网关向微发送http请求时,它显示了这个Bad Request This combination of host and port requires TLS.

我用下面的命令生成了我的证书:

keytool -genkeypair -alias statement -keystore src/main/resources/statement-keystore.p12 -keypass secret -storeType PKCS12 -storepass secret -keyalg RSA -keysize 2048 -validity 365 -dname "C=MA, ST=ST, L=L, O=statement, OU=statement, CN=localhost" -ext "SAN=dns:localhost"

spring cloud gateway app.yml:

server:
port: 8765
ssl:
enabled: true
key-alias: statement
key-store: classpath:statement-keystore.p12
key-store-password: secret
key-store-type: PKCS12

的例子:我在端口8081上有一个微运行,所以如果我测试像https://localhost:8081/api/v1/statemnts这样的GET请求,它返回200并显示数据,但如果我尝试使用春云端口https://localhost:8765/api/v1/statemnts,它返回This combination of host and port requires TLS.

PS:

  • 我使用zipkin和rabbitmq作为使用http的跟踪系统。
  • 我上传了我的证书给邮差,即使出现问题。
  • 这发生在邮差和浏览器
  • 如果需要任何其他细节,我会添加更多

Thanks in advance.

遇到了同样的问题,在使用微服务架构时,我使用的解决方案是这样的:

  1. 只在spring云网关开启https。
  2. 不需要在微服务上启用https。

这样你就可以从spring云网关调用你的微服务。我希望这个解决方案能给你提供帮助!!

相关内容

  • 没有找到相关文章

最新更新