Подстраховаться и SPDY протокол Ajax.net ошибка веб-API
При попытке выполнить Ajax-вызовы веб-Api .NET, размещенного в IIS в Azure, возникает очень странная ошибка.
У меня есть сертификат SSL от let's encrypt, он правильно применяется к сайту. Когда я пытаюсь выполнить вызов ajax, я получаю:
net:: ERR_SPDY_PROTOCOL_ERROR
Если скрипач открыт, все работает правильно. Когда скрипач закрыт, мы получаем ошибку. Обычный старый HTTP работает просто отлично.
4 ответов:
Решением для меня было то, что Chrome был строг в отношении формата заголовка авторизации.
Формат заголовка - маркер схемы , и важно, чтобы Выне включали двоеточие после схемы . Мой старый код стиля имел формат
Bearer: thetoken, который был неудачным. Я изменил его наBearer thetoken, и теперь все работает правильно.headers: { 'Authorization': 'Bearer ' + token }
У меня была такая же проблема. Исправление в моем случае состояло в обновлении заголовка авторизации, чтобы не включать объект JSON при вызове API. Наверное, то, чего мне не следовало делать с самого начала. ;- )
Пример
headers: { 'Authorization': 'Bearer ' + accessToken }
У меня была та же проблема. В моем случае это произошло из-за того, что API не смог получить соединение с SQL Server (потому что я остановил службу и забыл ее перезапустить.) Да на меня, но все же, более уместное сообщение об ошибке сделало бы проблему очевидной в одну секунду...вместо многих минут :- /
Для меня проблема заключалась в том, что я отправлял пустой заголовок авторизации.
Вход в мое приложение (и AngularJS SPA) отправляет имя пользователя / пароль в объекте JSON, и если логин действителен, то возвращается JWT, который затем используется для заголовка авторизации - например, Bearer {JWT} для будущих запросов API.
Не отправка заголовка авторизации, когда не было ничего, чтобы отправить Исправлена проблема.
Comments