问题在于:
我们有一个转发代理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也会返回值,因此我放弃了网络问题。
我不知道接下来应该做什么,以前有人遇到过这类问题吗?
由于
答案 0 :(得分:0)
问题根本不在于CloseableHttpClient。
要安装当前网址,我们曾经使用过request.getServerName(),这对PaaS解决方案没有任何意义,因为您有OpenShift pod和路由到您的系统。然后将此URL用作CloseableHttpClient的参数,这就是为什么我们得到504,URL首先不存在。