自我们从.NET Core 2.0更新到.NET Core 2.1(SDK 2.1.302)以来,我们的Linux docker asp.net核心容器服务器日志已由以下“信息性”日志条目填充:
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'
连接ID每秒钟大约增加1个alpha /数字。十六进制似乎并没有转化为任何有意义的内容(NUL NUL NUL SOH NUL EUL NOT ESC NUL NUL LF)。
我们排除的事物:
答案 0 :(得分:7)
您似乎正在通过HTTPS到达HTTP端点。
答案 1 :(得分:3)
原来这是docker主机(debian)和挂套接字(netstat显示很多TIME_WAIT)的问题。将应用程序端口更改为另一个端口,并且格式错误的请求已停止。
重新启动或重新启动docker守护程序也可能会解决该问题,但是其他容器的正常运行时间至关重要,因此我们无法对其进行测试。
答案 2 :(得分:0)
我遇到了同样的问题,在我的情况下,解决方案是在nginx配置中-我已将proxy_pass设置为https:// localhost:4000而不是http:// localhost:4000