我正在通过使用 2 种身份验证的 Https 调用 url。 Spring XD 能够接受服务器的证书,但是服务器还需要 SpringXD 来提供身份验证。
我有 SpringXD 需要发送到服务器的证书,但不知道应该在哪里配置它?
我正在使用 http-client 处理器模块通过 HTTPS 建立连接。
如果有人能指出我正确的配置,我将不胜感激。
下面是我的直播: stream create --name hitSSL --definition "jms --destination=readFromQ | http-client --url=''' https://remoteHost:remotePort/trafficcontrol/ ''' --httpMethod=GET | log"
我在尝试访问 URL 时得到了这个: :收到致命警报:handshake_failure;嵌套异常是 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
最佳答案
首先,您应该使用一些 key 工具创建 key 存储文件 (JKS),并将您的证书文件放在那里。
之后,你应该提供 JAVA_OPTS
ENV 变量来表示 xd-container
shell 脚本来获取你的 JKS 文件:
export JAVA_OPTS=-Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456
xd-container
或使用相同的 -D
选项为 DEFAULT_JVM_OPTS
修改 xd-container
脚本。
无需进行任何编码。
关于ssl - 如何从 Spring-XD 建立双向 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096489/