最近測試將Blazor部署到Docker鏡像,并使用Nginx進行集成,部署看上去沒有問題,可在瀏覽器控制臺發(fā)現(xiàn)如下問題:
Error: Failed to start the connection: Error: WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.
應(yīng)該是Nginx的配置問題,解決方案是在Nginx的配置中設(shè)置如下參數(shù):
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
這里的關(guān)鍵是將Connection 設(shè)置為 "upgrade"。