На пассивной объединительной плате SFF-8639 с одним портом на диск можно подключить некоторые из портов SFF-8643 на задней стороне к SAS HBA, а другие - к карте NVMe, такой как Supermicro AOC- SLG3-2E4?
Конкретный сценарий, который я рассматриваю, - это готовящийся к выпуску IcyDock MB699VP-B, который позиционируется как стойка для горячей замены твердотельных накопителей NVMe U.2 с 4 отсеками и 2,5 дюйма. Однако, поскольку 12 Гбит SAS также использует 8639 и 8643 для подключения дисковода и платы, мне интересно, могу ли я смешивать типы дисков в этом корпусе или в любой объединительной плате без расширителя, которая использует эти подключения. Мы используем IIS 8.5 на Windows Server 2012R2, и это приложение представляет собой веб-приложение .Net 4.6.2.
Та же самая настройка (без использования Barracuda WAF), работает без проблем.
] Включены веб-сокеты в WAF согласно этой статье https://campus.barracuda.com/product/webapplicationfirewall/doc/49054741/how-to-enable-websocket . Я по-прежнему получаю ту же ошибку 400.
Проверено, чтобы убедиться, что на моих серверах IIS включена функция WebSocket
.
Включена отладка / трассировка SignalR в Web.Config согласно https://docs.microsoft.com/en-us/aspnet/signalr/overview/testing-and-debugging/enhibited-signalr-tracing. Это приводит к файлам журнала, но нет указывает на ошибки.
Я не уверен, что еще проверить?
Итак, я обнаружил свою проблему. Я обнаружил, что на самом деле мы сначала отправляем наш трафик в наш WAF через Azure Load Balancer. Когда я выхожу из системы заголовков в журналах доступа WAF, я вижу, что заголовок Connection
не имеет значения, которое, как я знаю, мой клиент отправляет как Upgrade
.
Похоже, быть проблемой при использовании Azure Load Balancer. Поэтому я решил использовать вместо этого шлюз приложений Azure.
Однако на данный момент я могу заставить это работать, если WAF добавит за меня заголовок Connection
, настроив правило перезаписи заголовка для отправки этот заголовок на моих серверах IIS.
Требуемые заголовки для WebSockets
Подключение: Обновление
Обновление: веб-сокеты
В разделе «Перезапись HTTP-запроса» добавьте новое правило перезаписи…
Header Upgrade eq websocket
в качестве условия перезаписи. Теперь это правило будет применяться только тогда, когда заголовок Upgrade
содержит значение websocket
. Теперь, когда я снова пытаюсь загрузить приложение и бум, соединение успешно к / signalr / connect с транспортом webSockets!
Более подробная информация доступна в моем сообщении в блоге