Подстраховаться и SPDY протокол Ajax.net ошибка веб-API



При попытке выполнить Ajax-вызовы веб-Api .NET, размещенного в IIS в Azure, возникает очень странная ошибка.



У меня есть сертификат SSL от let's encrypt, он правильно применяется к сайту. Когда я пытаюсь выполнить вызов ajax, я получаю:



net:: ERR_SPDY_PROTOCOL_ERROR



Если скрипач открыт, все работает правильно. Когда скрипач закрыт, мы получаем ошибку. Обычный старый HTTP работает просто отлично.

640   4  

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

    Ничего не найдено.