3

我正在构建一个 HTTPS 代理node。基本上,我允许人们为我的代理机器(设置了通配符 DNS)设置 DNS CNAME 别名,并将他们的 SSL 证书导入我的应用程序(就像 AWS Elastic Load Balancer 一样),以便他们的 CNAME 主机名得到适当的保护和客户对每个请求的认可。

现在我在代理端工作,我试图找到一种在与客户端进行 SSL 握手之前动态加载正确证书的方法。工作流程是:

  1. 服务器收到一个新的请求
  2. 获取客户端请求的主机名(即用户设置的DNS CNAME别名)
  3. 加载属于该主机名的正确证书
  4. 在当前请求中使用加载的证书 (此处需要帮助)
  5. 握手(使用加载的证书 - 因请求而异)

有没有办法做到这一点?

4

1 回答 1

1

我们开始吧:在节点中使用 SNI应该可以正常工作。

问题是并非所有客户端(浏览器或库)都支持它。

于 2011-10-29T02:12:38.357 回答