Yan*_*nis 6 .net asp.net google-chrome haproxy reactjs
发布后,我们开始在生产应用程序中随机获得ERR_SPDY_PROTOCOL_ERROR.当我们得到它时,我们刷新浏览器几次,错误就消失了.我们无法真正重现错误,但我们设法捕获详细的chrome网络日志.请求的详细信息如下所示.
如果你知道我的意思,我希望得到别人的反馈或帮助,因为这是我希望自己不是开发人员的问题之一......
PS所涉及的技术都标记在这里.我们在后端使用react和后端的asp.net/servicestack.我们使用haproxy作为负载均衡器.我们只通过chrome看到此错误.
89365: URL_REQUEST https://api-domain.com/some/path?page=1&pageSize=10 Start Time: 2019-01-15 11:11:15.029 t=255420 [st= 0] +REQUEST_ALIVE [dt=10068]
--> priority = "MEDIUM"
--> url = "https://api-domain.com/some/path?page=1&pageSize=10" t=255421 [st= 1] NETWORK_DELEGATE_BEFORE_URL_REQUEST [dt=0] t=255421 [st= 1]
+URL_REQUEST_START_JOB [dt=10066]
--> load_flags = 17216 (DO_NOT_SAVE_COOKIES | DO_NOT_SEND_AUTH_DATA | DO_NOT_SEND_COOKIES | MAYBE_USER_GESTURE)
--> method = "GET"
--> url = "https://api-domain.com/some/path?page=1&pageSize=10" t=255421 [st= 1] NETWORK_DELEGATE_BEFORE_START_TRANSACTION [dt=0] t=255421 [st= 1] HTTP_CACHE_GET_BACKEND [dt=0] t=255421 [st= 1] HTTP_CACHE_OPEN_ENTRY [dt=0] t=255421 [st= 1] HTTP_CACHE_ADD_TO_ENTRY [dt=0] t=255421 [st= 1] HTTP_CACHE_READ_INFO [dt=0] t=255421 [st= 1]
+HTTP_STREAM_REQUEST [dt=0] t=255421 [st= 1] HTTP_STREAM_JOB_CONTROLLER_BOUND
--> source_dependency = 89366 (HTTP_STREAM_JOB_CONTROLLER) t=255421 [st= 1] HTTP_STREAM_REQUEST_BOUND_TO_JOB
--> source_dependency = 89367 (HTTP_STREAM_JOB) t=255421 [st= 1] -HTTP_STREAM_REQUEST t=255421 [st= 1] +HTTP_TRANSACTION_SEND_REQUEST [dt=1] t=255421 [st= 1] HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS
--> :authority: api-domain.com
:method: GET
:path: /some/path?page=1&pageSize=10
:scheme: https
accept: application/json, text/plain, */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9,el;q=0.8
origin: https://some-other-path.com
referer: https://some-other-path.com/
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
x-somekey: random-guid t=255422 [st= 2] -HTTP_TRANSACTION_SEND_REQUEST t=255422 [st= 2]
+HTTP_TRANSACTION_READ_HEADERS [dt=10065] t=265487 [st=10067] HTTP2_STREAM_ERROR
--> description = "Server reset stream."
--> net_error = "ERR_SPDY_PROTOCOL_ERROR"
--> stream_id = 3 t=265487 [st=10067] -HTTP_TRANSACTION_READ_HEADERS
--> net_error = -337 (ERR_SPDY_PROTOCOL_ERROR) t=265487 [st=10067] -URL_REQUEST_START_JOB
--> net_error = -337 (ERR_SPDY_PROTOCOL_ERROR) t=265488 [st=10068] URL_REQUEST_DELEGATE_RESPONSE_STARTED [dt=0] t=265488 [st=10068] -REQUEST_ALIVE
--> net_error = -337 (ERR_SPDY_PROTOCOL_ERROR)
Run Code Online (Sandbox Code Playgroud)
鉴于问题来自 2015 年,简短的答案是禁用 SPDY 或 HTTP/2。
客户端可能是 Chrome,因为它是当时唯一支持这些协议的浏览器。
如果服务器接受 HTTP/2 但实现已损坏并崩溃,则可能是服务器中的错误,或者如果在服务器不支持 HTTP/ 时尝试提升到 HTTP/2,则可能是 Chrome 中的错误2.
请注意,SPDY 已不存在,它已被 HTTP/2 取代。但错误代码仍被命名ERR_SPDY_PROTOCOL_ERROR。
| 归档时间: |
|
| 查看次数: |
750 次 |
| 最近记录: |