我们的服务器不再使用 SSL3.0 或 TLS1.0。当旧版浏览器尝试连接并使用 https 发出请求时,他们会收到“无法显示页面”消息。我想将他们重定向到 http 页面,并指导他们升级浏览器,或者在 IE 9 或 10 的情况下启用 TLS1.1 和 1.2。这可能吗?有什么想法吗?
答案1
不可能放弃对这些协议的支持,同时又让客户端使用相同的协议进行连接。
如果您必须将此信息传达给客户端,请完全使用不同的渠道,或者考虑在实际放弃协议之前留出宽限期。在宽限期内,您可以根据正在使用的协议重定向客户端,然后在宽限期后放弃协议。
还要考虑不以相同方式处理 SSLv3 和 TLSv1.0 的可能性。
SSLv3 比较老旧,问题比较多,而且只对更老的客户端有用。
我认为立即放弃 SSLv3(或至少紧急放弃)可能是明智之举,而以更耐心的方式逐步淘汰 TLSv1.0。
答案2
服务器不太支持这种设置。您最多可以做的是允许每个协议,然后在 Web 应用程序内部检查客户端使用的协议(使用 apache 的环境变量 SSL_PROTOCOL),并向所有不满足最低要求的客户端显示警告消息而不是实际页面。当然,任何分析器(如 SSLLabs)都会给您差评,因为它们只会看到您支持这些较旧的协议,而不会看到您如何处理这些旧客户端。