java - 使用带有嵌入式 Jetty 的 Spring-Boot 在 Camel rest-component 上配置 SSL

标签 java spring rest ssl apache-camel

几天来我一直在努力尝试让 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/

相关文章:

spring - 是否有任何可能的方法可以忽略 JPA Example Matcher 的所有路径

java - 如何将 Hazelcast 与 restful 一起使用?

java - token "start"出现语法错误,此 token 后应有标识符

java - 使用 IndexOf() 查找字符串中某个字符的第 n 次出现

java - 如何将UTF8字符串转换为UTF16

java - java中的输入不匹配错误

java - Restful Spring postForObject 缺少所有属性值

javascript - AngularJS:从 HttpResponse 读取数据和 header

java - Alfresco activi 5.* 或 6.* 中的自定义 Rest API

rest - Tomcat,JAX-RS, Jersey ,@PathParam : how to pass dots and slashes?