【问题标题】:TLS with dynamic server ip具有动态服务器 ip 的 TLS
【发布时间】:2016-09-23 23:18:08
【问题描述】:

喜欢在浏览器 javascript 中为 websocket 客户端使用 TLS。

问题是服务器是通过与 REST 服务对话来动态启动的,并且在启动时会返回一个端点 ip。即服务器是一个 ec2 实例,在启动时具有一个新的唯一 IP。该端点没有 dns 名称,因此在执行 tls 时,证书将与 ip 不匹配。

我有办法绕过 dns 名称检查,但仍能完成连接并享受加密会话的好处吗?

【问题讨论】:

    标签: javascript websocket


    【解决方案1】:

    检查这个 Why does my wss:// (WebSockets over SSL/TLS) connection immediately disconnect without giving any errors?

    问题的关键在于:如果您的 SSL 证书导致 任何形式的警告,wss:// WebSocket 连接将立即 失败,并且没有规范的方法可以检测到这一点。

    您似乎正在使用颁发给 IP 的自行生成的证书。证书通常颁发给服务器名称,但也可以绑定到 IP 地址 Are SSL certificates bound to the servers ip address?

    但在这种情况下,如果 IP 发生变化,您的 TLS 连接会从客户端发出警告,因此浏览器将断开连接

    您可以使用带有通配符证书的动态 IP 的动态 DNS。例如

    证书颁发给 *.domain.com

    DNS

    conn1.domain.com -> IP1
      conn2.domain.com -> IP2
      conn3.domain.com -> IP3
    

    如果您不能使用完全动态的 DNS,我可以建议使用固定范围的 IP 名称和颁发给该 IP 的证书。当您在启动时知道 ip 时选择适当的证书

    【讨论】:

    • 嗯。不确定我喜欢依赖动态 dns。是一件可怕的事情,但我们会看到
    猜你喜欢
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2013-08-23
    • 2019-01-30
    • 2018-03-03
    相关资源
    最近更新 更多