0

I am having an issue when trying to access pages from Tomcat 8.5.23.

Tomcat is able to serve the page when accessed using Tomcat server IPaddress/host name from where Tomcat is installed or from other production servers, and Tomcat server localhost_access_log is updated.

URL is like http://localhost:8080/App/status - which will return date , time.

But when request is using F5 virtual IP address http://F5ipaddress:8080/App/status, no page is served and Tomcat server localhost_access_log is not getting updated with any request.

I have updated the web.xml with CORS filter, thinking as it might be due to IP difference. But there is no luck.

The same application and configuration are working fine in Development and testing environments.

F5 is the difference between Prod and other environments.

Wireshark trace shows that request is passing through F5 and no response from Tomcat.

In one of the wireshark packet, able to see below content. But there is no update in Tomcat log related to this.

<title>Runtime Error</title>
<span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>
<h2> <i>Runtime Error</i> </h2></span>
<font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
<b> Description: </b>An application error occurred on the server. The                   current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
<br><br>
<b>Details:</b> To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".<br><br>
krampstudio
  • 3,519
  • 2
  • 43
  • 63
pradi
  • 11
  • 4

1 Answers1

1

The issue is because of F5 monitor configuration.

Whatever F5 monitor "receive string" param is configured is not matching with Tomcat 8.5 header response.

F5 "receive string" param is configured as "HTTP/1.1 200 OK", where as Tomcat 8.5 is responding with "HTTP/1.1 200".

As there is difference in string, F5 is not able to serve the requests.

Once F5 "receive string" param is configured as "HTTP/1.1 200", requests are being served through F5.

In testing environment, F5 "receive string" param and Tomcat 8.5 response header are same as "HTTP/1.1 200 OK".


Tomcat 8.5 dropped support for the reason phrase.

You can re-enable it in your Connector configuration, but it'll be gone in Tomcat 9.

Tomcat 8.5: Header missing in the HTTP response

pradi
  • 11
  • 4