到目前为止,我还没有用nginx来使用SNI。 但是,由于IP地址池相当充足,商业XP支持即将停止(最终),我正在考虑将几个网站转换为SNI。
我意识到SNI(XP问题,非常古老的浏览器)可能带来的一般限制和缺陷。 但除此之外,还有什么我应该知道的?
像 – 与使用SNI相关的陷阱 – 与最近(着名的!)浏览器的问题/错误
如果你的nginx版本在你做nginx -V时显示TLS SNI支持,那么你就可以开始了。
如果要运行server而不考虑IP地址,则不要在SSL Web server的listen指令中使用IP地址,以便为该虚拟主机使用SNI。
例如,更改:
listen 198.51.100.206:443 ssl;
至:
listen 443 ssl;
即使您使用IP地址,SNI仍将用于所有listen相同IP地址的服务器。
其实,这不是你应该担心的客户端软件。 现在大多数人运行一个体面的浏览器,移动设备基本上是安全的。
当我们尝试使用SNI运行nginx时,发现有些服务提供商真的落伍了。 在某些情况下,某个在线支付服务提供商只会向我们放弃HTTP调用,因为他们的软件基于一个非常古老的(pre-SNI支持)Perl库。 用户看到他们的信用卡没有收到任何结果没有被逗乐。 提供商的反应是惊讶 – 他们不知道他们有这个问题。 不幸的是,他们赛他们需要几个月来解决这个问题。
我希望这只是一个提供者,但不是。 我们结束了回到每个域的单独的IP。
获得的经验:检查所有将与您的nginx交谈的软件。