We want to enable SNI (Server Name Indication) in a PHP client that connects to various external endpoints (SOAP/REST). Some of these endpoints support SNI as a server, but some don't. Can enabling SNI on all outgoing request cause problems on servers that do not support SNI?
答案 0 :(得分:1)
SNI是可选的TLS扩展名(“server_name”)。这意味着任何不明确支持此扩展的正确TLS堆栈都会忽略它。 SNI被广泛使用,并且所有现代浏览器都启用了它。
如果您在启用SNI的情况下使用TLS,这可以确保几乎所有站点都能正常工作。可能仍有一些网站使用破坏的TLS堆栈,因为SNI存在而失败。但是,当通过现代浏览器访问时,这些站点也将失败。此外,如果SNI不存在,更多网站将失败,就像Cloudflare Free SSL背后的一切一样。因此,默认情况下启用SNI并且可能处理极少数破碎站点的影响肯定比处理大量没有SNI无法工作的站点更好。