2017-08-16 31 views
0

這裏返回504的問題是:CloseableHttpClient在OpenShift tomcat的莢

我們有一個向前的代理支柱的Web應用程序。所有請求都轉發到另一個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的所有請求並將其返回。 curl在pod控制檯上也返回值,所以我丟棄了網絡問題。

我不知道接下來該做什麼,有沒有人遇到過這種問題?

謝謝

回答

0

這個問題根本不在CloseableHttpClient上。

要掛載當前的url,我們使用request.getServerName(),這對PaaS解決方案沒有任何意義,因爲您有OpenShift pod和一個Route到您的系統。這個URL然後被用作CloseableHttpClient的參數,這就是爲什麼我們得到了504,URL並不在第一位。

相關問題