如何在dotnetcore 2.0中的websockets中启用wss

时间:2018-06-12 15:12:43

标签: c# .net https websocket .net-core

我是DotNet的新手。我正在开发一个应用程序,它在dot net core 2.0中完成并使用WebSockets。我已经关注this来获取我的WebSockets并且它正在运行(使用ws://)。

我想用wss保护它。我创建了一个自签名证书并修改了我的URL以使用https,我的REST请求使用https://正在[在另一个应用程序中]。当我遵循相同的步骤并将URL修改为https并尝试使用wss://访问我的WebSocket时,它无效(连接未启用)。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我想您缺少端口,dotnet核心https正在与http以外的端口上工作,请在客户端js文件中使用此方法获取正确的url,仅用您自己的路径替换/ ws段

    static GetBaseUrl(type) {

const wsScheme = document.location.protocol === "https:" ? "wss" : "ws";

const webScheme = document.location.protocol === "https:" ? "https" : "http";

const port = document.location.port ? (":" + document.location.port) : "";

switch (type) {

case Enums.UrlType.Web:

return webScheme + "://" + document.location.hostname + port;

case Enums.UrlType.WebSocket:

//wss is causing issue on the production 

return wsScheme + "://" + document.location.hostname + port + "/ws/";

}

}