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

Подделка HTTPS на IIS 6

Я ищу способ сообщить IIS 6, что даже если запрос пришел по http, его можно рассматривать как https.

HTTPS управляется до того, как запрос поступит на сервер приложений. В Tomcat мы используем RemoteIpValve с HTTP-заголовком X-Forwarded-Proto, чтобы сообщить Tomcat, является ли соединение безопасным или нет.

Есть ли способ сделать это в IIS? Может ли фильтр Isapi стать решением?

Спасибо за все подсказки.

[РЕДАКТИРОВАТЬ:] Чтобы быть более точным: архитектура для нашего кота следующая:

    USER
      |
     LoadBalancer (KeepAlived)
     |  |
     |  '- Apache (SSL)
     |
     HaProxy
     |
     |
     Tomcat

Когда пользователь делает запрос https на tomcat, запрос проходит через apache, где https декодируется (Apache добавляет X-Forwarded-Proto: https заголовок). Затем запрос перенаправляется на Tomcat через HaProxy (Http LoadBalancer).

Надеюсь, это немного яснее.

PS: Прошу прощения за мой английский, я недостаточно практикую его.

Например, для IIS7, Application Request Routing (ARR) + ARR Helper делает это, добавляя x-заголовки, как вы это делаете с Tomcat.

Вам понадобится фильтр ISAPI, чтобы перезаписать x-заголовок обратно в исходные значения заголовка в поле IIS6. У Microsoft нет решения IIS6 для перезаписи заголовка, но вы можете посмотреть, сделает ли это клиент BigIP или напишет свой собственный.

IIS7 уже имеет собственные решения, поэтому, если вам нужно выбрать между разработкой собственного фильтра ISAPI (непростая задача) или обновлением, это может быть возможностью рассмотреть возможность обновления вашей среды.