
Я в своем безумии думал, что если я опубликую веб-сервер IIS 8 с веб-сокетами через HTTPS, то проблем не должно возникнуть даже с TMG.
Однако, независимо от настроек публикации, фильтрации и запросов, я не вижу никаких запросов на обновление соединения WebSocket, достигающих веб-сервера при прохождении через TMG.
Используя SignalR, я получаю откат к любому меньшему транспорту, который поддерживает рассматриваемый браузер. Он отлично работает, когда я обхожу TMG, конечно.
Нужно ли мне найти другой брандмауэр/фильтр, чтобы это заработало, или есть способ?
У меня даже проблемы с поиском информации о том, какие продукты поддерживают веб-сокеты, все, что я вижу, это странная цитата о том, что менее 1% текущих прокси-серверов несовместимы, и использование HTTPS должно облегчить любые проблемы. И всякий раз, когда я ввожу "websocket" в поиск Google с продуктом Microsoft - результатом становится просто тарабарщина и/или вредоносные сайты.
tl;dr: Я понимаю, что Windows Server 2012 все еще не является RTM, но есть ли способ установить соединения IIS 8 WebSocket через TMG 2010 SP2?
решение1
Вот как мне наконец удалось это сделать:
- Не используйте правила публикации веб-сайта, вместо этого используйте правило не-веб-сервера
- Использовать определение протокола HTTPS-сервера по умолчанию
- Не включайте никакие фильтры в протоколе
- В разделе «Кому» правила укажите, что запросы исходят от исходного клиента.
- Также, увы, не имеет отношения к делу, убедитесь, что веб-сервер является клиентом SecureNAT (т.е. его шлюзом по умолчанию является рассматриваемый TMG)
Это имеет некоторые ограничения, но подходит для моих задач: публикация сайтов IIS 8 ASP.NET 4.5, использующих веб-сокеты.