Java膜服务器代理;无法在端口拦截器中使用HTTPS

时间:2020-07-24 19:30:28

标签: java https proxy interceptor membrane-soa

我使用HTTP在Wildfly上运行它没有问题。我正在尝试设置TLS,以便它可以使用Https。但是我不知道这是如何工作的

这是主要功能

protected void init() throws CustomizedServiceException {
        router = createRouter(service);
        proxy = createProxy(service);
        BaseInterceptor interceptor = createInterceptor(service);
        proxy.getInterceptors().add(interceptor);           
    }

这是我尝试在代理中设置https协议的地方

private ServiceProxy createProxy(Service service) {
        ServiceProxyKey key;
        if (service.getHost().equals("*.*.*.*")) {
            key = new ServiceProxyKey(service.getPort());
        } else {
            key = new ServiceProxyKey(service.getHost(), "*", ".*", service.getPort());
        }
       
        ServiceProxy proxy = new ServiceProxy();
        proxy.setKey(key);
        
        if (service.getSsl()) {
            
            SSLParser sslParser = new SSLParser();
            sslParser.setShowSSLExceptions(true);
            sslParser.setProtocol("TLS");
            KeyStore ks = new KeyStore();
            ks.setLocation("membrane.jks");
            ks.setKeyPassword("secret");
            sslParser.setKeyStore(ks);
           
            WSDLInterceptor relocater = new WSDLInterceptor();
            relocater.setProtocol("https");
           
           
            Target target = new Target();
            target.setSslParser(sslParser);
           
            proxy.setSslInboundParser(sslParser);
            proxy.getSslInboundContext();
            proxy.setTarget(target);
            proxy.getInterceptors().add(relocater);
        }
        
        return proxy;
    }

服务具有一个标志,用于检查我是否希望在登录service.getSsl()时启用TLS协议 事实是,我很确定这接近我的需要,但是当我发送https请求时,我会收到这些错误

11:57:47,841 ERROR [stderr] (RouterThread /127.0.0.1:4032) [RouterThread /127.0.0.1:4032] ERROR com.predic8.membrane.core.http.Header - Header read line that caused problems: QûWOw�AÃ8 ?EF¯��d¶�,ú� Ð0Ëß¹mmñ}Ä1Áð??¬ì�Dx?§?yÏ­9Y?�¬?
11:57:47,842 ERROR [stderr] (RouterThread /127.0.0.1:4032) [RouterThread /127.0.0.1:4032] ERROR com.predic8.membrane.core.http.Header - Header read line that caused problems: À�
11:57:47,843 ERROR [stderr] (RouterThread /127.0.0.1:4032) [RouterThread /127.0.0.1:4032] ERROR com.predic8.membrane.core.http.Header - Header read line that caused problems: �
11:57:47,843 ERROR [stderr] (RouterThread /127.0.0.1:4032) [RouterThread /127.0.0.1:4032] ERROR com.predic8.membrane.core.http.Header - Header read line that caused problems: 

我非常确定这意味着该服务仍在等待http请求,因此当它收到https请求时,它不知道该怎么做。我想念什么?

0 个答案:

没有答案