Yan*_*ang 10 c# kestrel-http-server asp.net-core
由于我们已将.NET Core 2.0更新为.NET Core 2.1(SDK 2.1.302),因此我们的Linux Docker ASP.NET Core容器服务器日志将由以下“信息”日志条目填充:
INFO|Microsoft.AspNetCore.Server.Kestrel|Connection id "0HLFG42JUAORG" bad request
data: "Invalid request line:
'CNXN\x00\x00\x00\x01\x00\x00\x04\x00\x1B\x00\x00\x00M\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid
request line: 'CNXN\x00\x00\x00\x01\x00\x00\x04\x00\x1B\x00\x00\x00M\x0A'
INFO|Microsoft.AspNetCore.Server.Kestrel|Connection id "0HLFG42JUAORH" bad request
data: "Invalid request line:
'CNXN\x00\x00\x00\x01\x00\x00\x04\x00\x1B\x00\x00\x00M\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid
request line: 'CNXN\x00\x00\x00\x01\x00\x00\x04\x00\x1B\x00\x00\x00M\x0A'
Run Code Online (Sandbox Code Playgroud)
连接ID每秒钟大约增加1个alpha /数字。十六进制似乎没有转换为任何有意义的(NUL NUL NUL SOH NUL NUL EOT NUL ESC NUL NUL LF)。
我们排除的事情:
原来这是 docker 主机(debian)和挂接套接字(netstat 显示大量 TIME_WAITs)的问题。将应用程序端口更改为不同的端口,格式错误的请求停止。
重新启动或重新启动 docker 守护程序可能也会修复它,但我们其他容器的正常运行时间至关重要,因此我们无法对其进行测试。