Подтвердить что ты не робот

Удалить заголовок сервера tomcat

Я могу переименовать значение org.apache.coyote.http11.Http11Protocol.SERVER для чего-нибудь еще, поэтому HTTP-Response-Header содержит что-то вроде:

Сервер: Apache

вместо стандартного

Сервер: Apache-Койот/1.1

Использование пустого значения для org.apache.coyote.http11.Http11Protocol.SERVER не удаляет заголовок сервера.

Как удалить заголовок сервера из моих резонов?

4b9b3361

Ответ 1

Короткий ответ - вы не можете удалить заголовок, но его следует изменить (см. другие ответы).

Заголовок сервера определен в RFC, и он является обязательным. (не определено как опционально в спецификации)

Взято из http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.38

14.38 Сервер
Поле заголовка ответа сервера содержит информацию о программном обеспечении, используемом сервером происхождения для обработки запроса.
Поле может содержать несколько токенов продукта (раздел 3.8) и комментарии, идентифицирующие сервер и любые существенные субпродукты. токены продуктов перечислены в порядке их значимости для определение приложения.

Если ответ отправляется через прокси-сервер, прокси-приложение НЕ ДОЛЖНО изменять сервер заголовок отклика. Вместо этого он ДОЛЖЕН включать поле Via (как описано в разделе 14.45).

  Note: Revealing the specific software version of the server might
  allow the server machine to become more vulnerable to attacks
  against software that is known to contain security holes. Server
  implementors are encouraged to make this field a configurable
  option.

Ответ 2

Это должно быть возможно, так как Tomcat 5.5. Просмотрите эту дискуссию: https://mail-archives.apache.org/mod_mbox/tomcat-users/200508.mbox/%[email protected]%3E  и эта ссылка: https://tomcat.apache.org/tomcat-4.1-doc/config/coyote.html

Соответственно, следующее должно указывать заголовок сервера на TEST. Пустой должен сделать его пустым.

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8180" inProcessors="5" maxProcessors="75" enableLookups="true" acceptCount="10" debug="0" connectionTimeout="20000" useURIValidationHack="false" server="TEST"/>

Установка заголовка сервера в Apache должна быть достаточно хорошей в большинстве случаев. Просто из этого не удастся сделать вывод о том, какая ОС и какая точная версия, с которой работают модули и версии модулей.

Ответ 3

Вы можете изменить свой файл tomcat server.xml и добавить опцию "сервер" и настроить его на все, что захотите. Параметр сервера должен быть настроен для любых подключенных HTTP или ssl-коннекторов. Например, ниже приведен пример конфигурации HTTP-коннектора из примера файла server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" enableLookups="false" xpoweredby="false" server="Web"/>