ssl - noVNC websockify ssl

标签 ssl websockify novnc

我正在尝试在 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/

相关文章:

ssl - 带客户端证书的 HttpClient POST 请求

postgresql - 数据过程 : SSL certificate not found for Sqoop job connecting to external PostgreSQL

python - Websocket 握手状态 200 异常

c++ - 如何在同一端口上运行套接字和 websocket 服务器?

iis - IIS 8中的Websockets反向代理

javax.net.ssl.SSLHandshakeException : Remote host closed connection during handshake during web service communicaiton

python - 如何在 Windows 上将 websockify 与 python 一起使用或将 websockify 编译为 Windows 可执行文件(一次用于多个客户端连接)

java - 如何在 Gitpod 中创建基本的 HelloWorld JavaFX 应用程序

python - 代码 400,消息错误请求语法 ('\x88\x80\xa32\xc9\x98' )