Служба WCF за ISA Firewall 2004 - PullRequest
1 голос
/ 26 мая 2010

У меня проблема при попытке получить доступ к службе WCF за ISA Firewall 2004. Очевидно, мой клиент Windows может подключаться и получать данные при использовании режима буферизации, но не при использовании режима потоковой передачи.

Я получаю ошибку 400 Bad Request - Неподдерживаемые заголовки, поэтому я не уверен, что режим Streamed добавляет к заголовкам сообщений, которые вызывают это. Я успешно использовал классы MessageContract в буферизованном режиме, но не в потоковом режиме. Мне нужно использовать классы MessageContract для передачи потоков вместе с другой информацией. Когда я помещаю сайт службы WCF на компьютер, который не защищен ISA (2004 или другим), или когда я обращаюсь к нему и использую его методы из нашей локальной сети, он работает нормально. Я использую базовую HTTP-привязку с MTOM для потоковой передачи.

Кто-нибудь еще имел эту проблему? Может быть, потому что ISA Firewall 2004 немного устарел для поддержки WCF?

1 Ответ

2 голосов
/ 28 августа 2011

Я понимаю, что это древний вопрос, но он рассматривался много раз, и до сих пор нет ответа ... Я столкнулся с подобной проблемой и мне пришлось немного повозиться, чтобы заставить это работать через ISA. В моем случае ISA - это не ISA 2004, как в вашем случае ... Я настраивал это на TMG. Но они очень похожи, так что это может помочь / быть актуальным.

Я могу подтвердить, что как шифрование транспортного уровня, так и шифрование сообщений работают нормально через брандмауэр ISA. Я написал короткую статью об этом здесь http://www.run -corp.com / how-to-configure-wcf-application-on-microsoft-isa-tmg-firewall / . Но http://msdn.microsoft.com/en-us/library/ms733137.aspx говорит, что безопасность на уровне сообщений не поддерживает потоковую передачу сообщений ...

Попробуйте настроить правило ISA, как оно есть в статье (первая ссылка выше).

Если вы все еще не продвинулись дальше - используете ли вы защиту сообщений и можете ли вы вместо этого внедрить защиту транспорта? Безопасность на транспортном уровне еще лучше, IMHO, поскольку она полностью скрывает все, что находится за уровнем 4, тогда как безопасность сообщений только шифрует фактическую сериализованную часть XML, оставляя информацию о конечной точке службы в виде открытого текста.

...