我们有一个生产 Apache Tomcat 服务器,一些网站通过它提供服务。这些网站已开始请求有效的 SSL 证书。我们对服务器上的有效 IP 数量有一些限制。另一方面,我们在最近的 SSL 版本中了解到了服务器名称指示 (SNI),它似乎得到了所有主流 Web 浏览器的支持,并使我们能够在单个 IP 地址上拥有多个启用 SSL 的网站。
问题是 Apache Tomcat 的稳定版本都不支持 SNI,WebLogic 等主流商业服务器也不支持。
毕竟,SNI 可以被视为该问题的成熟解决方案吗?
谢谢。
答案1
SNI 绝对是可行的方法,而且非常成熟。不过,一般不建议在 Tomcat 中直接执行 SSL。问题是 Tomcat SSL 库通常已过时且不完整。使用 Tomcat 站点执行 SSL 的典型方法是通过另一个程序(httpd、HAProxy、Pound 等)代理内容,该程序可以在客户端和代理之间的请求中添加 SSL。如果您在运行 Tomcat 的同一台服务器上执行代理,则网络上没有纯文本流量(即这不是安全问题)。我不确定 HAProxy 和 Pound 是否如此,但我知道 httpd 内置了对 SNI 的良好支持。