производственная среда -страница ошибки http 500 -нет трассировки стека, пожалуйста

Вот контекст:

Я работаю на очень крупном предприятии. Здесь у нас есть много кластеров WebSphere Application Server, в каждом из которых выполняется множество веб-приложений Java EE. Большинство (, но не все )этих приложений содержат в своем файле web.xml специальные директивы для отображения пользовательской страницы ошибок при возникновении непредвиденного исключения. Вот пример:

<error-page>
    <error-code>500</error-code>
    <location>/500.jsp</location>
</error-page>

Делая это, конечно, мы стремимся показать нашим клиентам удобную страницу с ошибкой, но, кроме того, мы в основном стремимся скрыть трассировки стека, которые обычно включаются в стандартные страницы ошибок http 500.

Как вы должны знать, эти трассировки стека содержат много конфиденциальных данных, таких как имена пакетов, имена классов и даже имена методов. Хуже того, иногда эти трассировки стека содержат исключения SQL, которые часто показывают, какое программное обеспечение сервера баз данных используется. Хуже того, иногда эти трассировки стека содержат пути к файлам и папкам, которые, в свою очередь,может показать, на каком семействе операционных систем работает наш WebSphere Application Server.

Нужно ли мне упоминать все другие, еще более конфиденциальные данные, которые могут быть раскрыты этими трассировками стека? (Имена пользователей, номера портов, IP-адреса, имена компьютеров/серверов, имена объектов JNDI…)

Так что неудивительно, (с ), что каждое крупное предприятие должно скрывать эти трассировки стека от своих клиентов.

Но вот наша проблема:

Иногда, даже если настраиваемая страница ошибки хорошо настроена в файле web.xml, WebSphere отправляет базовую страницу ошибки в веб-браузер клиента. Я очень хорошо понимаю, почему WebSphere это делает. Например, я знаю, что когда заголовки ответа http уже зафиксированы, WebSphere не может сбросить свой буфер для отправки пользовательской страницы ошибки, и тогда не может быть лучше, чем отправить базовую страницу ошибки.

Вот мой вопрос:

(1 )Можно ли настроить WebSphere так, чтобы он никогда не включал трассировку стека на свою базовую страницу ошибок? Таким образом, даже если по какой-либо технической причине WebSphere не может отправить нашу пользовательскую страницу ошибок, по крайней мере основная страница ошибок не будет содержать никаких конфиденциальных данных.

Как мы можем это сделать?

Спасибо,

9
задан Manglu 30 June 2012 в 02:54
поделиться