Ошибка HTTP-статуса 408 при входе в систему с настроенной переадресацией домена

StackOverflow https://stackoverflow.com/questions/1727668

  •  19-09-2019
  •  | 
  •  

Вопрос

На моем сайте wemanageloans.com многие пользователи получают следующую ошибку при попытке войти в систему с правильными учетными данными:

Статус HTTP 408 — превышено время, отведенное для процесса входа.Если вы хотите продолжить, вам необходимо либо дважды щелкнуть назад и еще раз щелкнуть запрошенную ссылку, либо закрыть и снова открыть браузер.

Это происходит только в том случае, если они пытаются войти в систему с URL-адреса:http://www.wemanageloans.com

Я настроил переадресацию домена на URL:http://59.176.19.181:8080

Эта ошибка не возникает, если пользователь пытается напрямую получить доступ к указанному выше URL-адресу на основе IP-адреса.

Кроме того, хотя у некоторых пользователей эта ошибка возникает постоянно, у некоторых она случается периодически.

Посоветуйте, пожалуйста, что может быть не так с переадресацией домена и что мне может потребоваться настроить на своей стороне.

Я использую аутентификацию Tomcat 6, используя j_security_check.

Это было полезно?

Решение

Когда я посетил сайт, я увидел, что файл cookie сеанса не был установлен сразу - даже после первой попытки входа в систему.

Я думаю, что-то не так с началом сеанса.

Поскольку «пересылка» осуществляется через фрейм, маскирующий ваш сайт, я бы посоветовал остановить это:это довольно сильно запутывает то, что происходит.Либо получите правильное разрешение DNS, используйте mod_jk или аналогичный для обслуживания контента Tomcat через Apache, либо просто перенаправьте людей на прямое использование IP.Это, скорее всего, избавит вас от проблем (я никогда не видел их в этом сценарии).В случае прямого использования IP-адреса это приводит к уродливому URL-адресу, поэтому правильное разрешение DNS должно быть именно тем, к чему вы стремитесь.

Редактировать: Не знаю, делаете ли вы это уже:Имейте в виду, что, используя j_security_check, вы не можете просто предоставить пользователю форму входа, но вам нужно полагаться на Tomcat, чтобы представить ее (AFAIK).Для этого ваша страница http://59.176.19.181:8080/personalcredit/loans.htm (которая отображается на первой странице) не должна содержать форму входа в систему, вместо этого страница должна быть объявлена ​​как защищенная, чтобы tomcat сам предоставлял пользователю настроенную страницу входа.Если бы loading.htm не был объявлен защищенным, у tomcat не было бы причин начинать новый сеанс, который мог бы объяснить наблюдаемое поведение.

Однако это не объяснило бы недетерминизм.

Другие советы

Может быть связан с кэшированием. Попробуйте отправить заголовок, как:

Cache-Control: no-cache,no-store,must-revalidate
Pragma: no-cache

Просто чтобы исключить эту опцию ...

В любом случае, 408 о тайм -аутах, может ли быть, что ваш сервер требует больше времени, чтобы направить эти запросы? Маловероятно, но возможно, хотя.

Другим подходом было бы установить ваш Tomcat Server.xml для прослушивания порта 80, просто чтобы убедиться, что использование порта 8080 не вызывает проблемы ...

Server.xml должен будет выглядеть каторж, как:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" 
redirectPort="8443" />

hth

Я исправил эту проблему, добавив интервал в Login.html а также Login-failure.html

setInterval(function(){
        location.reload(true);
    },5*60*1000);

А Login.html а также Login-failure.html подобные. Кроме Login-failure.html содержал текст "Логин или пароль неверны"

Кажется, я нашел очень простое решение

<meta http-equiv="Cache-Control" content="no-store,no-cache,must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="-1"/>

Спасибо Грегуhttp://readlist.com/lists/tomcat.apache.org/users/7/35987.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top