Как разрешить 400 Простой HTTP-запрос был отправлен на проблему порта HTTPS в Apache Camel? - PullRequest
0 голосов
/ 15 мая 2018

Как разрешить 400. Простой HTTP-запрос был отправлен на проблему порта HTTPS?

from: empValidation
to: myhost:443/EmpValidation/EmpValidationAPIService
 rules.getRules().forEach(x->{
        final LoadBalanceDefinition lb =  from("jetty:http://0.0.0.0:"+rules.getPort()+"/"+x.getFrom()+"??matchOnUriPrefix=true").log(LoggingLevel.DEBUG, "Processing ${id}").log("Incoming Context Request :"+x.getFrom())
        .loadBalance().roundRobin();
        x.getTo().forEach(z->lb.to("http4://"+z+"?bridgeEndpoint=true&throwExceptionOnFailure=true").log("Outgoing mapping urls :"+z)) ;
      });

если я использую компонент «https4», он работает с вышеуказанным URL (empValidation), но не работает с URL ниже.

Url: myhost:9008/emp-web-service/services/addEmp

Error:
 javax.net.ssl.SSLHandshakeException: Remote host closed connection during 
 handshake
          at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
          at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
          at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
          at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
          at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396)

Я думаю, что если мы используем порт по умолчанию, он не работает, каково решение для вышеупомянутого сценария?

1 Ответ

0 голосов
/ 15 мая 2018

Ну, это зависит от того, является ли конечная точка конечной точкой http или https (с сертификатом сервера для шифрования трафика между клиентом и сервером). Не важно, под каким номером порта он опубликован.

  • Если конечная точка https включена, вам нужно использовать такие URI, как https4://hostname...
  • Если конечная точка представляет собой обычную http конечную точку, вам необходимо использовать такие URI, как http4://hostname...
...