ฉันมีแอปพลิเคชัน dotnet core signalR บนบริการ kubernetes ยิ่งไปกว่านั้น บริการเข้ารหัสทางเข้ายังมอบใบรับรอง SSL ให้ฉันด้วย
ฉันสามารถรับเว็บไซต์ภายใต้ Let's encrypt Certificate และทุกอย่างดูถูกต้อง
หากฉันต้องการเชื่อมต่อ signalR ด้วยโปรโตคอล wss การเชื่อมต่อทุกๆ 2 วินาทีจะหลุด
ข้อผิดพลาดคือ:
{"error":"Handshake was canceled."}
The connection was terminated cleanly with status code 1000 (NORMAL).
บันทึกเซิร์ฟเวอร์คือ:
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://DOMAIN/ChatHub
dbug: Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager[1]
New connection XPqUHoK9b4PAeF_bKwQtIg created.
dbug: Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionDispatcher[4]
Establishing new connection.
dbug: Microsoft.AspNetCore.SignalR.HubConnectionHandler[5]
OnConnectedAsync started.
dbug: Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport[1]
Socket opened using Sub-Protocol: '(null)'.
dbug: Microsoft.AspNetCore.SignalR.HubConnectionContext[2]
Handshake was canceled.
dbug: Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport[7]
Waiting for the client to close the socket.
dbug: Microsoft.AspNetCore.Http.Connections.Internal.Transports.WebSocketsTransport[2]
Socket closed.
dbug: Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager[2]
Removing connection XPqUHoK9b4PAeF_bKwQtIg from the list of connections.
เวอร์ชันของแอปพลิเคชัน:
netcoreapp2.2
Microsoft.AspNet.SignalR -v 2.4.0
ฉันลองใช้การเชื่อมต่อ websocket ล้วนๆ แต่ก็เหมือนกัน ฉันจะแก้ไขปัญหานี้ได้อย่างไร?
PS: มันจะได้ผลถ้าฉันกำหนดใบรับรอง SSL ทางกายภาพให้กับเซิร์ฟเวอร์ชวา