C#: сервер совершил нарушение протокола. Раздел = ResponseStatusLine. Как отлаживать через сеть Trace - PullRequest
0 голосов
/ 21 февраля 2020

Наши потребители используют наш REST API и жалуются, что запрос ~ 1% не выполняется из-за ошибки: Сервер совершил нарушение протокола. Раздел = ResponseStatusLine . Они сказали, что пытались обойти эту ошибку, следуя советам по переполнению стека и другим, например

  1. Установите значение UseUnsafeHeaderParsing на «true» в web.config
  2. Установите KeepAlive на «false»
  3. Установите для Expect100Continue значение "true".

, но это не решило проблему. Чтобы лучше понять эту проблему, мы создали консольное приложение для использования нашего API, и мы также сталкиваемся с той же самой проблемой, которая возникает примерно на 1% (при запросе 100 только 1 приведет к сбою, а данные, которые мы получаем, совпадают). Поскольку API-интерфейс работает по протоколу HTTPS и не может быть размещен по протоколу HTTP, захват пакета через Wireshark затруднен (группа безопасности не будет использовать общий ключ RSA).

Мы попытались выполнить отладку в VS-2019 и включили диагностика и возможность захвата системы. Net сброс. Я также могу определить проблемный вызов API c, но не могу понять дальше. Кажется, что-то добавляется в заголовок HTTP во время ответа от сервера, что вызывает метод WebExceptionStatus.ServerProtocolViolation в методе CheckValid системы. Net. Пожалуйста, помогите мне отладить журналы ниже

1: правильный ответ

System.Net.Sockets Verbose: 0 : [25884] Data from Socket#6122357::Receive
System.Net.Sockets Verbose: 0 : [25884] 00000005 : 29 61 45 12 47 A7 AB CA-2D 8C 30 C7 7E 93 F2 6A : )aE.G...-.0.~..j
System.Net.Sockets Verbose: 0 : [25884] 00000015 : 3A 9E 6B 89 95 87 B3 CE-16 AF F4 46 ED 6C BC F2 : :.k........F.l..
System.Net.Sockets Verbose: 0 : [25884] 00000025 : BC 59 55 D1 8B 1F F3 31-C7 48 11 9C 3C 4B FC F0 : .YU....1.H..<K..
System.Net.Sockets Verbose: 0 : [25884] 00000035 : 18 AA 7A 23 BB 58 A9 BC-F0 6F 25 2B FB 21 AA F8 : ..z#.X...o%+.!..
System.Net.Sockets Verbose: 0 : [25884] 00000045 : B1 C7 5B 5D 88 F0 69 EB-2D DD 5A 69 5A 0D 81 C2 : ..[]..i.-.ZiZ...
System.Net.Sockets Verbose: 0 : [25884] 00000055 : 59 0A 83 12 92 DC D6 9D-18 B6 AB C9 8C A9 C3 1C : Y...............
System.Net.Sockets Verbose: 0 : [25884] 00000065 : 25 AF D1 99 89 8B C6 0C-BA CC 04 85 EE CA 97 84 : %...............
System.Net.Sockets Verbose: 0 : [25884] 00000075 : 07 9F C1 4F 45 67 71 C6-2D F9 D1 9D 68 EF 63 46 : ...OEgq.-...h.cF
System.Net.Sockets Verbose: 0 : [25884] 00000085 : 23 E1 0C 35 60 50 17 7E-4A FA E1 E6 BA 35 AF 57 : #..5`P.~J....5.W
System.Net.Sockets Verbose: 0 : [25884] 00000095 : B7 2A 1D B1 AB 8C 86 01-8A DF 0D 4E 6B 30 72 0C : .*.........Nk0r.
System.Net.Sockets Verbose: 0 : [25884] 000000A5 : 27 A5 D2 80 8E 29 E6 14-AD AE 32 47 B8 25 25 4A : '....)....2G.%%J
System.Net.Sockets Verbose: 0 : [25884] 000000B5 : 42 FA 99 0A DF 1F 59 EB-1B CB 6C 36 5F BB D8 F6 : B.....Y...l6_...
System.Net.Sockets Verbose: 0 : [25884] 000000C5 : E4 9D 73 7E 3B 0D 97 E1-0B 23 0E 16 4D 78 6B 91 : ..s~;....#..Mxk.
System.Net.Sockets Verbose: 0 : [25884] 000000D5 : 5B A1 22 83 76 D4 76 CF-99 05 20 1A 71 C5 4C A5 : [.".v.v... .q.L.
System.Net.Sockets Verbose: 0 : [25884] 000000E5 : 2D BB DD B0 2C AE F7 19-15 FF 93 78 BF 3E 08 B6 : -...,......x.>..
System.Net.Sockets Verbose: 0 : [25884] 000000F5 : 22 26 B2 81 7C 1B DF C1-DA 0C 10 55 71 87 6A 1E : "&..|......Uq.j.
System.Net.Sockets Verbose: 0 : [25884] 00000105 : AA AA 0C 4C 49 62 AE 45-3F 70 53 35 F5 C9 3A A3 : ...LIb.E?pS5..:.
System.Net.Sockets Verbose: 0 : [25884] 00000115 : FA B6 0F EC 30 52 D7 E1-E0 00 C2 41 B3 8D 7F AB : ....0R.....A....
System.Net.Sockets Verbose: 0 : [25884] 00000125 : B4 50 B7 08 C0 7B 96 ED-AF 64 55 D9 84 FB FF 95 : .P...{...dU.....
System.Net.Sockets Verbose: 0 : [25884] 00000135 : E2 B3 3A 0C A1 AA 23 C9-DD A8 8D F5 C0 0D FA 9F : ..:...#.........
System.Net.Sockets Verbose: 0 : [25884] 00000145 : A5 8E BD F4 B9 66 0E 60-F1 20 93 B1 8A 81 4F D9 : .....f.`. ....O.
System.Net.Sockets Verbose: 0 : [25884] 00000155 : D5 AB 36 D9 85 CD 7D B6-DF F9 34 64 1A 12 B9 0B : ..6...}...4d....
System.Net.Sockets Verbose: 0 : [25884] 00000165 : 36 66 AC CB 11 5A 78 DF-FF 54 3B 21 E3 0E 94 83 : 6f...Zx..T;!....
System.Net.Sockets Verbose: 0 : [25884] 00000175 : 4F 09 51 F5 1A 67 F9 5A-16 97 71 DD 98 18 A2 BD : O.Q..g.Z..q.....
System.Net.Sockets Verbose: 0 : [25884] 00000185 : 40 7F DB 23 71 DC B0 8B-F6 D4 A1 2D 2B F8 8E 1E : @..#q......-+...
System.Net.Sockets Verbose: 0 : [25884] Exiting Socket#6122357::Receive()   -> Int32#400
System.Net Information: 0 : [25884] Connection#60332585 - Received status line: Version=1.1, StatusCode=200, StatusDescription=OK.
System.Net Information: 0 : [25884] Connection#60332585 - Received headers
{
X-Frame-Options: SAMEORIGIN
Pragma: no-cache
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
X-AspNetMvc-Version: 
Content-Length: 226
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Date: Thu, 20 Feb 2020 16:01:24 GMT
Expires: -1
Server: 
X-Powered-By: 
}.
System.Net Information: 0 : [25884] ConnectStream#24230272::ConnectStream(Buffered 226 bytes.)
System.Net Information: 0 : [25884] Associating HttpWebRequest#53517805 with ConnectStream#24230272
System.Net Information: 0 : [25884] Associating HttpWebRequest#53517805 with HttpWebResponse#16745860
System.Net Verbose: 0 : [25884] Exiting HttpWebRequest#53517805::GetResponse()  -> HttpWebResponse#16745860
System.Net Verbose: 0 : [25884] Entering HttpWebResponse#16745860::GetResponseStream()
System.Net Information: 0 : [25884] ContentLength=226
System.Net Verbose: 0 : [25884] Exiting HttpWebResponse#16745860::GetResponseStream()   -> ConnectStream#24230272

2: неправильный ответ

System.Net.Sockets Verbose: 0 : [25884] Entering Socket#6122357::Receive()
System.Net.Sockets Verbose: 0 : [25884] Data from Socket#6122357::Receive
System.Net.Sockets Verbose: 0 : [25884] 00000005 : 63 FC 57 65 D8 01 9E F0-4A 55 72 04 80 CF 8A 82 : c.We....JUr.....
System.Net.Sockets Verbose: 0 : [25884] 00000015 : A7 63 84 74 04 74 F3 F7-8D AE 64 C7 AE C3 90 59 : .c.t.t....d....Y
System.Net.Sockets Verbose: 0 : [25884] 00000025 : F4 B2 53 51 E7 8F 9D 69-CF 6A EC 00 D8 AE 1D E8 : ..SQ...i.j......
System.Net.Sockets Verbose: 0 : [25884] 00000035 : 5B D1 11 96 2E 78 86 6C-D0 2A 82 88 F2 FE 6F 06 : [....x.l.*....o.
System.Net.Sockets Verbose: 0 : [25884] 00000045 : 68 CD F7 EC 62 79 D4 07-73 78 90 6B 36 DF 89 BF : h...by..sx.k6...
System.Net.Sockets Verbose: 0 : [25884] 00000055 : 3C B0 18 AC 94 08 F8 35-72 69 E9 F4 A1 6F 3F 21 : <......5ri...o?!
System.Net.Sockets Verbose: 0 : [25884] 00000065 : 04 EF 45 09 C3 48 AA 14-8C A4 C1 01 1D 1D CD 79 : ..E..H.........y
System.Net.Sockets Verbose: 0 : [25884] 00000075 : 2C B7 71 4D AC 6B D8 4C-E8 A9 39 7D BC 25 39 29 : ,.qM.k.L..9}.%9)
System.Net.Sockets Verbose: 0 : [25884] 00000085 : 6B 67 C0 83 61 9C BC 2D-CF 58 31 B6 DE 76 3B 6E : kg..a..-.X1..v;n
System.Net.Sockets Verbose: 0 : [25884] 00000095 : E0 A1 86 25 D2 72 BB 00-D1 5F 08 AB 2E 75 2A 71 : ...%.r..._...u*q
System.Net.Sockets Verbose: 0 : [25884] 000000A5 : 00 5F 57 34 48 95 0A 93-9D 1C 50 76 9D 87 2F 2A : ._W4H.....Pv../*
System.Net.Sockets Verbose: 0 : [25884] 000000B5 : A1 D3 AE 19 F0 24 1F B0-BA 18 BE F8 18 EF 3F 1C : .....$........?.
System.Net.Sockets Verbose: 0 : [25884] 000000C5 : B2 4C 99 CB 98 5B 7D 3F-77 57 0E A2 74 35 7B 2A : .L...[}?wW..t5{*
System.Net.Sockets Verbose: 0 : [25884] 000000D5 : BA 01 A3 B2 AE C6 A7 D2-7F BE 5C BD 1A 81 1A DA : ..........\.....
System.Net.Sockets Verbose: 0 : [25884] 000000E5 : 0E D4 D8 62 CF 6C D0 9E-A4 64 97 65 CE B4 55 12 : ...b.l...d.e..U.
System.Net.Sockets Verbose: 0 : [25884] 000000F5 : 6B 44 35 62 F5 A9 35 F0-9B 64 28 00 68 40 CE FC : kD5b..5..d(.h@..
System.Net.Sockets Verbose: 0 : [25884] 00000105 : CD 5C FB 2B BE 77 E4 D7-DB 98 30 19 8F A7 FE B6 : .\.+.w....0.....
System.Net.Sockets Verbose: 0 : [25884] 00000115 : EC AB DC 4F B6 D0 B7 72-5D 44 58 B0 43 DF 5E 62 : ...O...r]DX.C.^b
System.Net.Sockets Verbose: 0 : [25884] 00000125 : 3B C3 FB 1D C4 29 07 DF-48 51 B1 F5 BA DB C3 C1 : ;....)..HQ......
System.Net.Sockets Verbose: 0 : [25884] 00000135 : 75 6D 01 8A 5D 27 1F 88-26 67 35 1E 7B 3E 70 C6 : um..]'..&g5.{>p.
System.Net.Sockets Verbose: 0 : [25884] 00000145 : 5E 38 AD 56 95 E2 49 E2-87 0B 2E 7D 8E 66 39 20 : ^8.V..I....}.f9 
System.Net.Sockets Verbose: 0 : [25884] 00000155 : 05 47 08 17 28 40 97 4F-2C 56 C7 B5 CA 3E 09 D9 : .G..(@.O,V...>..
System.Net.Sockets Verbose: 0 : [25884] 00000165 : D6 EA 62 65 20 CA EB 7F-43 70 1E 0A 2D 1A 00 E9 : ..be ...Cp..-...
System.Net.Sockets Verbose: 0 : [25884] 00000175 : 81 4A EB 8A 6E FE F2 C1-AC EC 24 0D 24 13 A5 7D : .J..n.....$.$..}
System.Net.Sockets Verbose: 0 : [25884] 00000185 : 7D 0E D2 CF 25 C6 E2 6B-0C 28 56 5D C3 E3 32 92 : }...%..k.(V]..2.
System.Net.Sockets Verbose: 0 : [25884] 00000195 : 85 33 D8 59 80 4D AE 5A-B3 47 CF E1 53 47 2C A5 : .3.Y.M.Z.G..SG,.
System.Net.Sockets Verbose: 0 : [25884] 000001A5 : 30 EA 1D 68 92 65 5A 75-B5 AA A5 87 B8 D5 BC 0A : 0..h.eZu........
System.Net.Sockets Verbose: 0 : [25884] Exiting Socket#6122357::Receive()   -> Int32#432
System.Net.Sockets Verbose: 0 : [25884] Entering Socket#6122357::Dispose()
System.Net Error: 0 : [25884] Exception in HttpWebRequest#4152081:: - The server committed a protocol violation. Section=ResponseStatusLine.
System.Net Error: 0 : [25884] Exception in HttpWebRequest#4152081::GetResponse - The server committed a protocol violation. Section=ResponseStatusLine.
System.Net Verbose: 0 : [25884] Entering WebRequest::Create(https://[ myDomain.com] /xyz/abc/ConfirmPayment)
System.Net Verbose: 0 : [25884] Entering HttpWebRequest#6968762::HttpWebRequest(https:// [myDomain.com] /xyz/abc/ConfirmPayment#-1194737012)
System.Net Verbose: 0 : [25884] Exiting HttpWebRequest#6968762::HttpWebRequest() 
System.Net Verbose: 0 : [25884] Exiting WebRequest::Create()    -> HttpWebRequest#6968762

Если вам нужны какие-либо другие данные, пожалуйста, сообщите. Пожалуйста, направьте меня в правильном направлении

25 февраля 2020 @Vaptarov, пожалуйста, найдите захват пакета Fiddler. Пожалуйста, руководство.

HTTP/1.1 500 Fiddler - Bad Response
Date: Tue, 25 Feb 2020 14:28:21 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Cache-Control: no-cache, must-revalidate
Timestamp: 19:58:21.837

[Fiddler] Response Header parsing failed.
This can be caused by an illegal HTTP response earlier on this reused server socket-- for instance, a HTTP/304 response which illegally contains a body.
Response Data:
<plaintext>
0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A  ........................
0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 48 54 54 50 2F 31 2E 31 20 32 30 30  ............HTTP/1.1 200
20 4F 4B 0D 0A 58 2D 46 72 61 6D 65 2D 4F 70 74 69 6F 6E 73 3A 20 53 41   OK..X-Frame-Options: SA
4D 45 4F 52 49 47 49 4E 0D 0A 43 61 63 68 65 2D 43 6F 6E 74 72 6F 6C 3A  MEORIGIN..Cache-Control:
20 6E 6F 2D 63 61 63 68 65 0D 0A 50 72 61 67 6D 61 3A 20 6E 6F 2D 63 61   no-cache..Pragma: no-ca
63 68 65 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 68 3A 20 32 32 36  che..Content-Length: 226
0D 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 6C 69 63 61 74  ..Content-Type: applicat
69 6F 6E 2F 6A 73 6F 6E 3B 20 63 68 61 72 73 65 74 3D 75 74 66 2D 38 0D  ion/json; charset=utf-8.
0A 45 78 70 69 72 65 73 3A 20 2D 31 0D 0A 58 2D 58 53 53 2D 50 72 6F 74  .Expires: -1..X-XSS-Prot
65 63 74 69 6F 6E 3A 20 31 3B 20 6D 6F 64 65 3D 62 6C 6F 63 6B 0D 0A 58  ection: 1; mode=block..X
2D 43 6F 6E 74 65 6E 74 2D 54 79 70 65 2D 4F 70 74 69 6F 6E 73 3A 20 6E  -Content-Type-Options: n
6F 73 6E 69 66 66 0D 0A 53 74 72 69 63 74 2D 54 72 61 6E 73 70 6F 72 74  osniff..Strict-Transport
2D 53 65 63 75 72 69 74 79 3A 20 6D 61 78 2D 61 67 65 3D 33 31 35 33 36  -Security: max-age=31536
30 30 30 0D 0A 53 45 52 56 45 52 3A 20 0D 0A 58 2D 50 4F 57 45 52 45 44  000..SERVER: ..X-POWERED
2D 42 59 3A 20 0D 0A 58 2D 41 73 70 4E 65 74 4D 76 63 2D 56 65 72 73 69  -BY: ..X-AspNetMvc-Versi
6F 6E 3A 20 0D 0A 44 61 74 65 3A 20 54 75 65 2C 20 32 35 20 46 65 62 20  on: ..Date: Tue, 25 Feb 
32 30 32 30 20 31 34 3A 32 37 3A 34 32 20 47 4D 54 0D 0A 0D 0A           2020 14:27:42 GMT....   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...