Как использовать Forms Auth, когда SSL находится на прокси-сервере перед IIS Farm (WCF)? - PullRequest
0 голосов
/ 14 апреля 2009

Вот мой сценарий:

У меня есть прокси-сервер, на котором фактически установлен сертификат SSL, и он расположен перед веб-фермой с балансировкой нагрузки. Каждый сервер IIS не имеет SSL, поэтому я не могу использовать безопасность транспорта через привязку wsHttp. Я не исследовал basicHttp, потому что мы хотим предоставить SOAP 1.2 в будущем с этим решением. В дополнение к этому, моя сетевая команда не позволит использовать сертификаты для шифрования на уровне сообщений. (одно это решило бы мою дилемму, я уверен)

В моей группе безопасности есть требование, чтобы мы использовали проверку подлинности с помощью форм (поставщик членства).

Окончательное решение должно разрешать SSL через передний прокси-сервер, но некоторые типы привязки WCF сохраняют сложность в файле конфигурации.

Я работал с пользовательской привязкой, которая позволяла вводить имя пользователя / пароль в виде открытого текста, но при попытке подключиться через https я получаю обычную ошибку "http Ожидается" uri.

Как я могу использовать SSL через прокси-сервер для безопасного соединения клиентского приложения с веб-службой, но не устанавливать SSL в IIS и использовать аутентификацию стека + форм WCF?

Я не новичок в WCF, но эта очень нестандартная настройка, кажется, заставляет меня сомневаться, допускают ли требования какое-либо "простое" решение.

Заранее спасибо!

РЕДАКТИРОВАТЬ: Я, наконец, получил эту работу и решил написать короткий блог сообщение с полным исходным кодом, необходимым для написания пользовательской привязки.

1 Ответ

1 голос
/ 14 апреля 2009

Я думаю, что это похоже на проблему, с которой многие сталкивались при желании предоставлять услуги WCF через SSL, когда реальная служба в IIS находится за устройством разгрузки SSL. В этом случае вам помогут следующие две страницы:

http://blog.hackedbrain.com/archive/2006/09/26/5281.aspx

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/87a254c8-e9d1-4d4c-8f62-54eae497423f/

По сути, вам нужно обмануть WCF и сказать, что служба безопасна, даже если трафик будет передаваться по HTTP (между службой и прокси-сервером).

...