我正在尝试配置一个spring云网关(在项目反应器之上),以跨两个域提供HTTPS服务。
但是,它似乎无法使用SNI来选择要向客户端显示的正确证书。
我的配置如下:我已经生成了两个不同的私钥/证书,它们都存储在keystore.jks中,它们都具有不同的CommonNames,并且它们还具有与预期的域相匹配的主题备用名称。我已经在我的主机文件中输入了通用名称。愚弄browser/curl使其认为它的两个独立的域。
我已经按如下方式配置了application.yml
server:
ssl:
enabled: true
# The entire purpose of this project is so that client authentication is needed
client-auth: need
---
spring:
profiles: development
server:
ssl:
key-store: config/keystore.jks
trust-store: config/truststore.jks这样做的目的是启用与两个不同客户端的双向ssl身份验证,这两个客户端都为我们颁发了自己的证书。
我知道netty是spring云网关支持SNI的基础。spring云网关有没有配置SNI的方法?
发布于 2020-02-19 21:57:03
看起来支持SNI有一个悬而未决的问题。
https://github.com/spring-cloud/spring-cloud-gateway/issues/1525虽然已关闭,但已被问题创建者关闭。而不是框架的创建者。
这个问题链接到reactor中的另一个问题。https://github.com/reactor/reactor-netty/issues/573
在写这篇文章时,它还没有关闭。
https://stackoverflow.com/questions/60300555
复制相似问题