【发布时间】:2012-10-26 03:13:55
【问题描述】:
我有一个 PSGI/Plack 应用程序托管在反向 https 代理后面。访问者使用客户端证书进行身份验证。我使用 websockets 来传递数据(比如,“tail -f”的输出异步到浏览器。直接访问时应用程序工作正常,但通过反向 https 代理访问时不能正常工作。有什么方法可以使用客户端证书身份验证网络套接字?
【问题讨论】:
标签: javascript websocket client-certificates
我有一个 PSGI/Plack 应用程序托管在反向 https 代理后面。访问者使用客户端证书进行身份验证。我使用 websockets 来传递数据(比如,“tail -f”的输出异步到浏览器。直接访问时应用程序工作正常,但通过反向 https 代理访问时不能正常工作。有什么方法可以使用客户端证书身份验证网络套接字?
【问题讨论】:
标签: javascript websocket client-certificates
有两种选择:
让反向代理终止 TLS,执行基于客户端证书的身份验证,并将未加密的流量转发到后面的 WebSocket 服务器
让反向代理将 TLS 原封不动地转发到 WebSocket 服务器
使用 2.,您将需要一个实现 TLS 和基于客户端证书的身份验证的 WebSocket 服务器。
这是一个基于 Autobahn(基于 Python/Twisted)的启用 TLS 的 WebSocket 服务器示例:
您可以按照此处的示例添加客户端证书身份验证:
免责声明:我是 Autobahn 的作者,为 Tavendo 工作。
【讨论】: