我正试图在Ubuntu 16上使用Websockify通过本地家庭沙箱上的https访问noVNC-->https://ubuntu:6080/vnc.html?host=ubuntu&端口=6080
迄今为止采取的步骤:
1.自行签署了一个证书,用于在我的本地主机上进行测试,即使证书的https b/c有一条红线,我也可以访问该证书。
2.下载了最新的noVNC和webstockify。
3.将webstockify放在noVNC的utils目录中。
如果我通过launch.sh:运行noVNC
utils/launch.sh --vnc localhost:5901 --cert ./lib/
在lib有自签名.key、.pem和.csr的地方,我的bash读作:
Starting webserver and WebSockets proxy on port 6080
WARNING: no 'numpy' module, HyBi protocol will be slower
WebSocket server settings:
- Listen on :6080
- Flash security policy server
- Web server. Web root: /home/testuser/app/novnc
- SSL/TLS support
- proxying from :6080 to localhost:5901
Navigate to this URL:
http://ubuntu:6080/vnc.html?host=ubuntu&port=6080
Press Ctrl-C to exit
当我转到浏览器并加载上面显示的url时,我会得到vnc.html页面。然而,当我使用https而不是http(我最初的要求)时,我会得到以下错误:
*handler exception: [Errno 336265225] _ssl.c:355: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib*
在进一步审查后,我发现了一个SO帖子,他将同样的错误指向了一个python问题,该问题可以通过verify=False进行纠正。然而,在我陷入兔子洞之前,我对此一无所知。我想我会问是否有人知道我为什么不能通过https访问noVNC?
您的命令包含参数--cert ./lib/
,其中/lib/是一个目录。
根据man websockify
,您应该使用以下选项:
--cert=CERT SSL certificate file
--key=KEY SSL key file (if separate from cert)