几天来我一直在努力尝试让 SSL 与现有的休息端点一起工作。目前在 jks 中使用自签名证书。
我们有一条休息路线(不是这条路线,但是很相似):
@Override
public void configure() {
restConfiguration()
.component("jetty")
.scheme("https")
.bindingMode(RestBindingMode.off)
.dataFormatProperty("prettyPrint", "true")
.port(8443);
rest("/post")
.post()
.consumes("application/json")
.produces("application/json")
.to( // next endpoint // );
这在 HTTP 上工作得很好。当我们将方案设置为 HTTPS 时,Jetty 在向其发送请求时会抛出 SSL 密码不匹配错误;我想这是因为没有提取 SSL 配置。
我已经尝试了互联网上的一些示例(例如从 application.properties 配置 Jetty),但实际上似乎根本没有做任何事情。
感谢任何帮助,项目中的所有路由都是使用 Camel Java DSL 编写的,而不是等效的 XML。
最佳答案
此问题已得到修复。我们发现这样做的正确方法是配置嵌入式 Jetty 本身,而不是修改 Camel 路线。 这可以通过实例化 JettyHttpComponent 并在其上设置 SSLContextParameters 来实现。
关于java - 使用带有嵌入式 Jetty 的 Spring-Boot 在 Camel rest-component 上配置 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44043603/