之前没有试通局域网发布wss服务。借助昨天发布成功https的成果轻松完成了wss发布。
一样的得到证书
# 生成私钥
openssl genrsa -aes256 -passout "pass:mypassword" -out key.pem 4096
# 生成公钥
openssl req -new -x509 -days 3650 -key key.pem -passin "pass:mypassword" -out cert.csr -subj "/C=CN/ST=BeiJing/L=BeiJing/O=Gongshi/OU=Group/CN=www.baidu.com//emailAddress=zzzz@qq.com.cn"
# 打包为pfx
openssl pkcs12 -export -in cert.csr -inkey key.pem -out dotnet.linux.pfx
然后在C#代码加上下面第二句第三句引入证书,地址改wss
WebSocketServer serverwss = new WebSocketServer("wss://127.0.0.1:" + 8083);
string s = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "dotnet.linux.pfx");
serverwss.Certificate = new X509Certificate2(s, "mypassword");
如此在js调用地方地址由ws改为wss即可正常连接,之前困扰的点一直在证书不合格导致的。持续查资料试探慢慢就突破困难了。新版谷歌浏览器https不让调非安全资源问题全部解决。