tomcat + openshift + liferay = запрос потерял все мои заголовки случайным образом - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть одна проблема в моем приложении LifeRay, но я думаю, что в этом случае LifeRay не имеет никакой ответственности в случае отказа.Случайным образом (я полагаю, зависит от рабочей нагрузки) мои запросы длятся все заголовки.Проблема началась в tomcat7, и я решил добавить трассировки в код tomcat, чтобы иметь возможность решить эту проблему ... я добавил трассировку в tomcat 8.0.24, в классе CoyoteAdapter, метод parseSessionCookiesId (потому что изначально я думал, что моя проблема была только с JSESSIONID),В конце метода я добавил эту строку:

ServerCookies serverCookies = request.getServerCookies();
int count = serverCookies.getCookieCount();

if (log.isDebugEnabled()) {
  log.debug(" (sn3) This request have  [" + count + "] cookies");
}

Хорошо!Сбой только в производственной среде, установка трассировок, запуск одной тестовой стопки (с подключением: закрыть для избежания проблем с поддержкой активности ...) и в запросе 35500 я получаю эту трассировку:

Sep 13, 2018 8:07:13 AM org.apache.coyote.http11.AbstractNioInputBuffer parseRequestLine
FINE: Received [GET /Theme_INESPCORP-theme/css/main.css?browserId=firefox&themeId=Theme_INESPCORPtheme_WAR_Theme_INESPCORPtheme&minifierType=css&languageId=es_ES&b=6205&t=1536758494000 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: text/css,*/*;q=0.1
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://XXXXX/group/espaciocorporativo-staging/centro-deportivo
Cookie: COOKIE_SUPPORT=true; GUEST_LANGUAGE_ID=es_ES; SCREEN_NAME=62583670354c526441445853737a31635368746179413d3d; _ga=GA1.4.2117709036.1533115603; _ga=GA1.2.819564883.1533118883; LOGIN=78323632363637; USER_UUID=69793777764437457a4e7473766f43744c5759382b526f7563387a32576757744f635a4571654d30636d633d; COMPANY_ID=20157; ID=5a586d61316864306d694a666262673162336e3474513d3d; PASSWORD=39437449474759444e586c7258665a43465538327a773d3d; REMEMBER_ME=true; JSESSIONID=60C696C9BBFFEA286C75862571DC3401; LFR_SESSION_STATE_20161=1536823187622; _gid=GA1.4.1226222595.1536824093
Host: XXXXX
X-Forwarded-Host: XXXX
X-Forwarded-Port: 80
X-Forwarded-Proto: http
Forwarded: for=180.93.30.9;host=XXXXX;proto=http
X-Forwarded-For:XXXXX
Connection: close

]
Sep 13, 2018 8:07:13 AM org.apache.catalina.connector.CoyoteAdapter parsePathParameters
FINE: The variable [uriBC] has value [/Theme_INESPCORP-theme/css/main.css]
Sep 13, 2018 8:07:13 AM org.apache.catalina.connector.CoyoteAdapter parsePathParameters
FINE: The variable [semicolon] has value [-1]
Sep 13, 2018 8:07:13 AM org.apache.catalina.connector.CoyoteAdapter parsePathParameters
FINE: The variable [enc] has value [utf-8]
Sep 13, 2018 8:07:13 AM org.apache.catalina.connector.CoyoteAdapter parseSessionCookiesId
**FINE:  (sn3) This request have [0] cookies**

Вы можете увидетьэтот ужасный результат: FINE: (sn3) Этот запрос имеет [0] куки

Итак, просматривая код apache и без какой-либо ОШИБКИ TRACE в процессе выполнения ... куки-файлы извлекаются в этой точке:

ServerCookies serverCookies = request.getServerCookies ();

...

public ServerCookies getServerCookies () {parseCookies ();вернуть this.coyoteRequest.getCookies ();}

....

cookieProcessor.parseCookieHeader (this.coyoteRequest.getMimeHeaders (), serverCookies);

....

Я использую legacyCookieProccesor и метод parseCookieHeader, но не печатаю эту строку:

    if (log.isDebugEnabled()) {
      log.debug("Cookies: Parsing b[]: " + cookieValue.toString());
    }

Итак .. или я потерял все заголовки, или, по крайней мере, я потерял MIME-заголовок "Cookie".

Я запустил в моем тестовом запросе n (например, 35455 в последнем тесте) абсолютно идентичный, который работает правильно, считывает и анализирует куки ... и в запросе 35456 он потерял этот куки, который правильно информирован, как вы можете видеть,в "Полученной [" трассировке отладки org.apache.coyote.http11.AbstractNioInputBuffer класса

Друзья!Любая идея?Точно место для добавления дополнительной трассировки, любой параметр tomcat, который изменяет поведение синтаксического анализа заголовков, любая идея отношения openshift - tomcat ... Я не знаю, как продолжить, кроме как добавлять все больше и больше трассировок в tomcat

Заранее спасибо!

...