Websockets通过安全的http服务器与客户端证书身份验证

时间:2012-10-26 03:13:55

标签: javascript websocket client-certificates

我在反向https代理后面托管了一个PSGI / Plack应用程序。访问者使用客户端证书进行身份验证。我使用websockets将数据(例如,“tail -f”的输出异步传递给浏览器。直接访问时应用程序工作正常,但是当通过反向https代理访问时不能。有没有办法使用客户端证书身份验证的WebSockets?

1 个答案:

答案 0 :(得分:3)

有两个选项:

  1. 让反向代理终止TLS,执行基于客户端证书的身份验证并将未加密的流量转发到后面的WebSocket服务器

  2. 让反向代理将未更改的TLS转发到WebSocket服务器

  3. 使用2.,您将需要一个实现TLS和基于客户端证书的身份验证的WebSocket服务器。

    这是一个基于TLS的WebSocket服务器示例,基于Autobahn(基于Python / Twisted):

    您可以按照以下示例添加client-cert auth:

    免责声明:我是高速公路的作者并为Tavendo工作。