如何在作为服务安装在 Windows Server 2008 R2 上的 Apache 2.4.9 上禁用 SSLv1、SSLv2 和 SSLv3 协议?(我没有使用 IIS。)
我仍然希望我的服务器上有 TLSv1.2 协议。
以下是我的一些环境变量:
SERVER_SOFTWARE Apache/2.4.9 (Win32) PHP/5.5.12 OpenSSL/1.0.1g
SSL_PROTOCOL TLSv1.2
Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls
答案1
在conf.d/ssl.conf
、conf/extra/httpd-ssl.conf
或您配置 mod_ssl 设置的任何其他地方:
SSLProtocol All -SSLv2 -SSLv3
SSLv1 不是 mod_ssl 中的东西。该All
指令是 的快捷方式+SSLv2 +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
,因此手动删除了 v2 和 v3。
答案2
Apache SSL 设置与 PHP“Registered Stream Socket Transports”无关。简而言之,PHP 5.5 不支持 TLSv1.1 和 1.2。升级到 PHP 5.6 后,您会看到:
已注册的流套接字传输:
tcp、udp、unix、udg、ssl、sslv3、sslv2、tls、tlsv1.0、tlsv1.1、tlsv1.2