c# - 如何使用 webSocketOptions.AllowedOrigins?
问题描述
我有一个 ASP 网络应用程序。
该应用程序打开一个 websocket 通信服务器。websocket 服务器正常工作。
var webSocketOptions = new WebSocketOptions()
{
KeepAliveInterval = TimeSpan.FromSeconds(120),
};
app.UseWebSockets(webSocketOptions);
app.Use(async (context, next) =>
{
if (context.Request.Path == "/ws")
{
if (context.WebSockets.IsWebSocketRequest)
{
using (WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync())
{
//do some stuff
}
}
else
{
context.Response.StatusCode = 400;
}
}
else
{
await next();
}
});
当我打开我的域 example.com 并转到 Chrome Web 控制台时,以下代码有效:
var socket = new WebSocket("wss://www.example.com/ws");
但是,当我添加安全约束时:
webSocketOptions.AllowedOrigins.Add("https://www.example.com");
websocket 连接不再起作用。我收到错误
VM376:1 WebSocket connection to 'wss://www.example.com/ws' failed: Error during WebSocket handshake: Unexpected response code: 403
谁能帮助请教如何使用webSocketOptions.AllowedOrigins?
我希望仅当从我的网站www.example.com发出请求时才允许 Websocket 访问
谢谢
解决方案
推荐阅读
- qt - 将可动态更改的 qml 对象保存/序列化为文件、字符串或字节数组
- excel - 希望根据可变单元格进行条件格式设置
- python - 次要刻度线和网格线不会出现在子图中——Python
- python - 什么是编写函数参数约束的函数的智能和/或 Pythonic 方法?
- linux - 在大型 json 文件 (50GB) 上使用 jq
- python - 无法使用 fastapi-mail 作为后台任务发送电子邮件
- ios - 如何遍历 MFMessageViewController 的视图层次结构?
- angular - Angular Material 12:自定义表格排序按钮
- python - 来自 pathlib 的 Pydantic 和 PurePosixPath
- iis - FTP服务器认证问题