У меня есть HTTP-сервер Akka, работающий на AWS EC2 Autoscale cluster. Этот блок автоматической шкалы EC2 имеет балансировщик нагрузки ELB Application спереди. В дополнение к ELB у нас есть распределение облачного фронта, которое настроено на обслуживание статических файлов.Как включить websockets на AWS Cloudfront
Мы сталкиваемся с проблемой, когда все запросы на соединение с веб-сайтами от браузеров до Бэкэнд не выполняются с ошибкой HTTP 400 Expected UpgradeToWebsocket header
.
При дальнейших исследованиях мы обнаружили, что клиенты могут напрямую подключаться к балансировщику нагрузки, но любой запрос на соединение с помощью облачного отказа не работает. В конце концов я наткнулся на this page на документацию AWS Cloudfront, в которой говорится, что облачный тариф выделяет все заголовки «обновления», которые могут быть причиной того, что клиенты не могут подключиться.
Чтобы обойти эту проблему, я включил опцию «переадресация заголовка» (которая отключает кеширование), но она все еще не работает. Более того, я не смог найти какой-либо вариант для выборочного отключения кэширования облачных вычислений или обхода облачного режима для определенных URL-адресов.
Как мне решить эту проблему и обеспечить работу веб-сайтов через облачный режим? Или это просто не поддерживается?