You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by "Woonsan Ko (JIRA)" <ji...@apache.org> on 2014/12/30 16:24:13 UTC

[jira] [Commented] (APA-71) WebContent - Reverse proxy for https target doesn't work by default

    [ https://issues.apache.org/jira/browse/APA-71?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14261156#comment-14261156 ] 

Woonsan Ko commented on APA-71:
-------------------------------

It is because the default servlet/filter/portlet (e.g, SimpleReverseProxyServlet) don't provide SSL Socket Connection Factory or SSL Context instance by default. Those can still be provided by overriding #getHttpClientBuilder(), but it seems convenient to support https by default.

> WebContent - Reverse proxy for https target doesn't work by default
> -------------------------------------------------------------------
>
>                 Key: APA-71
>                 URL: https://issues.apache.org/jira/browse/APA-71
>             Project: Portals Apps
>          Issue Type: Bug
>    Affects Versions: apa-webcontent-2.0
>            Reporter: Woonsan Ko
>            Assignee: Woonsan Ko
>             Fix For: apa-webcontent-2.0
>
>
> For https remote target, it throws an exception like the following:
> {code}
> org.apache.http.client.ClientProtocolException
> 	org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
> 	org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
> 	org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
> 	org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
> 	org.apache.portals.applications.webcontent2.proxy.command.ExecuteHttpClientCommand.executeInternal(ExecuteHttpClientCommand.java:63)
> 	org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand.execute(AbstractProxyCommand.java:61)
> 	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
> 	org.apache.portals.applications.webcontent2.proxy.impl.ProxyProcessingChain.execute(ProxyProcessingChain.java:243)
> 	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
> 	org.apache.portals.applications.webcontent2.proxy.impl.ProxyProcessingChain.execute(ProxyProcessingChain.java:243)
> 	org.apache.portals.applications.webcontent2.proxy.impl.DefaultReverseProxyService.invoke(DefaultReverseProxyService.java:40)
> 	org.apache.portals.applications.webcontent2.proxy.servlet.GenericReverseProxyServlet.service(GenericReverseProxyServlet.java:112)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> 	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> root cause
> org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
> 	org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:151)
> 	org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
> 	org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
> 	org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
> 	org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:153)
> 	org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
> 	org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
> 	org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:254)
> 	org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
> 	org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
> 	org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
> 	org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
> 	org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
> 	org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
> 	org.apache.portals.applications.webcontent2.proxy.command.ExecuteHttpClientCommand.executeInternal(ExecuteHttpClientCommand.java:63)
> 	org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand.execute(AbstractProxyCommand.java:61)
> 	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
> 	org.apache.portals.applications.webcontent2.proxy.impl.ProxyProcessingChain.execute(ProxyProcessingChain.java:243)
> 	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
> 	org.apache.portals.applications.webcontent2.proxy.impl.ProxyProcessingChain.execute(ProxyProcessingChain.java:243)
> 	org.apache.portals.applications.webcontent2.proxy.impl.DefaultReverseProxyService.invoke(DefaultReverseProxyService.java:40)
> 	org.apache.portals.applications.webcontent2.proxy.servlet.GenericReverseProxyServlet.service(GenericReverseProxyServlet.java:112)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> 	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)