net :: ERR_SPDY_PROTOCOL_ERROR 200 с прокси-сервером - PullRequest
0 голосов
/ 09 января 2019

В нашем проекте мы используем 2 сервера: 1 в качестве сервера PROD API и 1 в качестве прокси (фактически для этого используется nginx)

Прокси-сервер также использует HTTP / 2. В одном сценарии прокси-сервер может получить ответ от сервера API prod и заменить ссылки PROD на прокси-сервер, а затем вернуть его клиенту.

В этом случае мы можем обнаружить ошибку " net :: ERR_SPDY_PROTOCOL_ERROR 200 ". Я немного погуглил об этой проблеме, но, похоже, причин этой ошибки может быть несколько.

В моем случае это происходит только тогда, когда мы заменим хосты (измените ответ от PROD перед отправкой его клиенту)

Может ли кто-нибудь описать, что на самом деле означает " net :: ERR_SPDY_PROTOCOL_ERROR 200 " и, возможно, лучшие практики, позволяющие этого избежать?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Мы столкнулись с подобной проблемой сегодня при запуске обратного прокси-сервера с использованием образа докера: nginx: 1.16.0-alpine. После перехода на использование nginx: 1.16.0 эта проблема была решена.

0 голосов
/ 10 января 2019

HTTP / 2 получен из более раннего протокола SPDY , поэтому, вероятно, в сообщении об ошибке вообще не упоминается HTTP / 2.

Одной из причин, по которой вы можете увидеть сообщение ERR_SPDY_PROTOCOL_ERROR , является неверный заголовок HTTP, поступающий с сервера. Возможно, ваш прокси-сервер вносит некоторые изменения в заголовок ответа HTTP, который делает его недействительным / неправильно сформированным ?

Попробуйте отключить HTTP / 2 на прокси-сервере и посмотрите, исчезнет ли ошибка. Если это так, проверьте заголовки ответа и убедитесь, что они действительны. Я подозреваю, что ваш прокси-сервер неправильно формирует ответ.

...