Назад | Перейти на главную страницу

Заголовки ответа сервера IIS 7.5 (UrlScan не работает)

В прошлом вы могли использовать UrlScan от Microsoft чтобы изменить заголовки и удалить, например, версию IIS, отображающую версию.

Это не работает для IIS 7.5, а IIS 7.0 - последняя поддерживаемая версия. Есть ли способ удалить некоторые заголовки ответов?

Запуск Windows Server 2008 с установленным IIS7.5.

Вы можете использовать модуль IIS Native-Code для удаления любых заголовков в IIS 7.5 (фактически, тот же модуль должен работать для IIS 7.0–8.5).

Модули собственного кода отличаются от более распространенных управляемых модулей, поскольку они написаны с использованием API Win32, а не ASP.NET. Они работают для всех запросов, включая статические страницы и изображения.

Двоичные файлы и исходный код примера модуля Native-Code для удаления заголовков в IIS 7.0–8,5 доступны в следующей статье. Этот модуль представляет собой простую установку MSI и по умолчанию удаляет заголовки «Сервер», «X-Powered-By» и «AspNet Version». Остальные заголовки можно удалить с помощью конфигурации IIS.

http://www.dionach.com/blog/easily-remove-unwanted-http-headers-in-iis-70-to-85

В Интернете есть множество ресурсов, объясняющих, как это сделать. Просто образец:

Однако я признаю, что большинство из них не будут работать в любом контексте:

  • это будет зависеть от того, есть ли у вас доступ к Global.asax.cs исходный код файла.
  • в Global.asax подход действителен только для веб-сайтов, разработанных с ASP.NET. Так что, если ваш сайт статичен html страницы и css или js?
  • в web.config подход не сможет удалить Server Version заголовок.

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

Я выбрал URL Rewrite подход, поэтому я полностью независим от веб-разработчиков (если таковые имеются) и от ASP.NET или HTML развитие.


Чтобы удалить заголовок X-Powered-By:

  1. В IIS Manager, перейдите на свой веб-сайт
  2. Выбрать HTTP Response Header
  3. Выбрать X-Powered-By и нажмите Remove

Чтобы удалить Server Version заголовок я использую URL Rewrite расширение от Microsoft:

Затем я определил исходящее правило, чтобы переписать Server Version с пустым значением. Но я также мог написать неправильное значение, например Apache или unknown ;)

Я надеюсь, что вы, как и я, найдете эти ссылки очень полезными для реализации того, о чем я говорю:


Наконец, сам не тестировал, но кажется, что все еще можно использовать UrlScan с участием IIS7.5/8: