2017-05-18 3 views
1

既存の残りのエンドポイントでSSLを稼働させようと数日間頭を悩ましていました。現在jksで自己署名証明書を使用しています。埋め込まれたJettyでSpring-Bootを使用してCamelのrest-componentにSSLを設定する

我々は残りのルート(ないこのルートが、非常に類似した)を持っている:

@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 cypherの不一致エラーをスローします。私はこれがSSL構成が選択されていないためだと思います。

インターネット上でいくつかの例を試しましたが(application.propertiesからJettyを設定するなど)、実際には何もしないようです。

このプロジェクトのすべてのルートは、Camel Java DSLを使用して作成されたものであり、XMLに相当するものではありません。

答えて

1

この問題はこれまで修正されています。私たちは、これを行う正しい方法が、ラクダのルートを変更するのではなく、埋め込まれたJetty自体を設定することであることを発見しました。 これは、JettyHttpComponentをインスタンス化し、その上にSSLContextParametersを設定することで実現できました。

関連する問題