CloseableHttpClient在OpenShift tomcat pod上返回504

时间:2017-08-16 14:46:38

标签: java tomcat openshift

问题在于:

我们有一个转发代理struts网络应用程序。所有请求都转发到另一个mvc应用程序,并将响应重定向到转发代理/ struts应用程序。如今,它部署在iPlanet和rhel服务器上。

我们正在将struts应用程序移动(或尝试)到OpenShift和Tomcat。该应用程序在生产,开发和uat环境以及开发机器上运行良好。关于tomcat和jboss。

我的问题如下:我们的一个struts操作会对前向代理进行繁重的工作。

                            <action name="prepare"

                                            class="com.authentication.action.ProxyAction">

                                            <result name="success" type="proxy">

                                                            <param name="location">${path}</param>

                                                            <param name="parse">true</param>

                                            <param name="encode">false</param>

                                            </result>

                                            <result name="error" type="tiles">login</result>

                            </action>

CloseableHttpClient代码的代码如下。

                            CloseableHttpClient client = HttpClients.custom()

                                                            .setSSLContext(sslContext)

                                                            .setDefaultCookieStore(cookieStore)

                                                            .setDefaultRequestConfig(config)

                                                            .setSSLHostnameVerifier(new NoopHostnameVerifier())

                                                            .setRedirectStrategy(new LaxRedirectStrategy())

                                                            .setDefaultHeaders(headers)

                                                            .build();

OpenShift pod上发生了什么,仅在OpenShift上发生了504错误。

mvc应用程序正在接收来自struts的所有请求并将其返回。 pod控制台上的curl也会返回值,因此我放弃了网络问题。

我不知道接下来应该做什么,以前有人遇到过这类问题吗?

由于

1 个答案:

答案 0 :(得分:0)

问题根本不在于CloseableHttpClient。

要安装当前网址,我们曾经使用过request.getServerName(),这对PaaS解决方案没有任何意义,因为您有OpenShift pod和路由到您的系统。然后将此URL用作CloseableHttpClient的参数,这就是为什么我们得到504,URL首先不存在。