Tomcat 8.5 не обслуживает http-запрос при поступлении с виртуального IP-адреса F5 Load Balancer

У меня возникла проблема при попытке доступа к страницам из Tomcat 8.5.23.

Tomcat может обслуживать страницу при доступе с использованием IP-адреса/имени хоста сервера Tomcat с места, где установлен Tomcat, или с других рабочих серверов, и сервер Tomcat localhost_access_log обновляется.

URL-адрес похож на http://localhost:8080/App/status - который вернет дату и время.

Но когда запрос использует виртуальный IP-адрес F5 http://F5ipaddress:8080/App/status, страница не обслуживается, а сервер Tomcat localhost_access_log не обновляется никаким запросом.

Я обновил web.xml с фильтром CORS, думая, что это может быть связано с разницей IP. Но не повезло.

Одно и то же приложение и конфигурация отлично работают в средах разработки и тестирования.

F5 — это разница между Prod и другими средами.

Трассировка Wireshark показывает, что запрос проходит через клавишу F5, а Tomcat не отвечает.

В одном из пакетов wireshark можно увидеть содержимое ниже. Но в журнале Tomcat нет обновлений, связанных с этим.

<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>

person pradi    schedule 05.07.2018    source источник


Ответы (1)


Проблема связана с конфигурацией монитора F5.

Какой бы ни был настроен параметр «получить строку» монитора F5, он не соответствует ответу заголовка Tomcat 8.5.

Параметр «строка приема» F5 настроен как «HTTP/1.1 200 OK», тогда как Tomcat 8.5 отвечает «HTTP/1.1 200».

Поскольку есть разница в строке, F5 не может обслуживать запросы.

Как только параметр «получить строку» F5 настроен как «HTTP/1.1 200», запросы обслуживаются через F5.

В тестовой среде параметр «получить строку» F5 и заголовок ответа Tomcat 8.5 такие же, как «HTTP/1.1 200 OK».


Tomcat 8.5 прекратил поддержку фразы Reason.

Вы можете повторно включить его в конфигурации вашего соединителя, но в Tomcat 9 он исчезнет.

Tomcat 8.5: заголовок отсутствует в ответе HTTP

person pradi    schedule 13.07.2018