我正在尝试在 Ubuntu 16 上使用 Websockify 通过本地家庭沙箱上的 https 访问 noVNC --> https://ubuntu:6080/vnc.html?host=ubuntu&port=6080
到目前为止采取的步骤:
1.在我的本地主机上自行签署了一个用于测试的证书,即使它通过证书的 https b/c 有一条红线,我也可以访问它。
2.下载最新的noVNC和websockify。
3.将websockify放在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 post谁将同样的错误指向一个可以用 verify=False 修复的 python 问题。然而,在我陷入困境之前,我一无所知,我想我会问是否有人知道为什么我无法通过 https 访问 noVNC?
最佳答案
您的命令包含参数--cert ./lib/
,其中/lib/是一个目录。
根据man websockify
,您应该使用以下选项:
--cert=CERT SSL certificate file
--key=KEY SSL key file (if separate from cert)
关于ssl - noVNC websockify ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38684470/