2012-06-19 5 views
13

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

Сервер: Apache

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

Сервер: Apache-Coyote/1,1

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

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

ответ

3

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

Заголовок сервера определен в 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. 
+6

Изменение или удаление заголовка сервера (а также других, таких как X-Powered-By) важно для обеспечения безопасности. Предоставляя внешним пользователям информацию о вашей базовой технологической инфраструктуре, вы, по сути, говорите потенциальным злоумышленникам, над которыми они должны воспользоваться.В отличие от некоторых других, tomcat не позволяет удалить заголовок, но вы можете изменить его, чтобы быть тем, что вы хотите. '' внутри server.xml. См. Также: [Tomcat docs] (https://tomcat.apache.org/tomcat-4.1-doc/config/coyote.html) –

+0

@Tomcat точно – momomo

5

Это должно быть возможным, так как 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 должна быть в достаточной степени надежной в большинстве случаев. Просто из этого не удастся сделать вывод о том, какая ОС и какая точная версия, с которой работают модули и версии модулей.

+2

Я не вижу, как ссылка, которую вы предоставили, помогает удалить заголовок сервера – RonK

+1

хорошее решение, работает с tomcat 8 –

+0

-1 Это не отвечает на вопрос. OP уже знает, как изменить заголовок сервера; то, что они хотят знать, можно ли удалить его. –

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"/> 
Смежные вопросы