[问题] 请问关于SSL断线的问题

楼主: pleaselouis (LOUIS￾N)   2016-11-11 17:45:03
开发平台(Platform): (Ex: Win10, Linux, ...)
Win 7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VC++ 2015
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
QT 5.6.0 and libwebsocket 1.7.0
问题(Question):
我个别使用了 Qt 跟 libwebsocket 写了一支Server程式
并使用这两个Library的 官方范例html程式(用Chrome开启) 使用SSL模式 去连Server
上述的两个Server跟两个Client 不论是如何排列组合
发生的情况都是 立刻显示断线讯息 但是如果关闭SSL的话 则是运作正常
但是有一个特殊情形 首先先开启上述的其中一个Server程式后
并在Chrome开启一个新分页 在网址列打入 https://localhost:1234
Chrome会显示 "您的连线不是私人连线" 的提示网页
点选 "进阶" 再点选 "继续前往 localhost 网站 (不安全)"
此时Chrome的新分页显示 "localhost 页面无法正常运作"
这时再去开启上述的任一个Client网页 就完全正常运作了
但是若是 进去Chrome的 "设定" 再点选 "清除浏览资料" 后
一切的情形 就恢复成 一连马上就断线的情形
我查了很久 都没有发现原因 或是解决方法
请问各位前辈 可以给我一点方向或是线索吗?? 谢谢大家
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-11-11 18:27:00
当然阿 你以为chrome让你继续前往的网页是安全的吗他揪出来你SSL凭证不对 继续进去就是走没SSL的port 80他记下来这个例外 下次就让你直接走port 80清掉资料 就走https 于是马上断线你的SSL根本从来就没好过
作者: CodingMan (程式侠)   2016-11-11 20:17:00
Http 默认 port 是 80
作者: uranusjr (←這人是超級笨蛋)   2016-11-12 00:17:00
为什么要用 libwebsocket, Qt 就有带 QWebSocket 了啊XD
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-11-12 04:48:00
你socket听哪里跟你网页怎么开有什么关系就算你用port 1234进https page 凭证不对一样dropback回port 80你问题就是在前端的html page走https必死你可以不用听 反正福特都说了 没有做错事无法学习错多一点可以学习比较久
作者: uranusjr (←這人是超級笨蛋)   2016-11-12 09:11:00
你的问题是没搞懂 HTTPS 和 WSS 的运作原理, SSL 模式是用来让使用者确认服务器真的是你所宣称的那个人, 这需要第三方认证才能办到, 不是你想用就能用的

Links booklink

Contact Us: admin [ a t ] ucptt.com