.NET 6中的应用程序|C#语言|Openid验证后Blazor服务器WebSocket连接失败

6ojccjat  于 2022-12-13  发布在  .NET
关注(0)|答案(1)|浏览(181)

我有Blazor Server应用程序,它托管在我们docker中的VPS上,在nginx反向代理后面。如果我访问Web,一切都很清楚,可以正常工作。x1c 0d1x但如果我通过openid(keycloak)登录,在使用所有cookie和JWT的- app重定向后,无法连接到WebSocket。

我尝试了所有的nginx配置,但我不认为它在nginx端在这一点上。连接未经授权是可以的。也许这是某种配置,我错过了?
我很感激你的帮助。谢谢。

dgiusagp

dgiusagp1#

如果你还没有找到这个问题的解决方案,或者你和我一样在寻找答案:
我刚刚遇到了和你一样的情况(.NET 6 Blazor和Nginx后面的Keycloak),我发现问题出在Blazor+Keycloak生成的cookie的大小上,它们超过了large_client_header_buffers的正常8192字节:http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers
我将限制增加到:

large_client_header_buffers 4 32k;

而这解决了我的问题!
注意,覆盖应该在server{...} nginx标记内。

相关问题