SSL/TLS 高强度加密: 常见问题解答 (Apache HTTP Server 版本2.2)
问题:为什么当我连接到配置了SSL支持的Apache服务器时会出现连接挂起的情况?
因为你使用了HTTP协议去连接了HTTPS端口,也就是你使用了"http://"而不是"https://"这样的URL;或者相反,你使用了HTTPS协议去连接了HTTP端口,也就是你使用了"https://"去连接一个并不支持SSL的端口。你必须确保的确连接到了一个支持SSL的虚拟主机,它可能是关联到你的主机名的IP地址,而不是"localhost"(127.0.0.1)。
问题:mod_ssl支持哪些SSL加密算法?
通常,所有OpenSSL支持的SSL加密算法mod_ssl都支持,具体取决于你的OpenSSL是怎样编译的。可以使用下面的命令列出实际究竟可以使用哪些加密算法:
$ openssl ciphers -v
问题:如何启用SSL压缩?
虽然SSLv2和TLS规范定义了SSL压缩协商,但是直到2004年5月,RFC 3749才将DEFLATE定义为可协商的压缩方法。
从0.9.8版本开始,如果编译时使用了zlib选项,那么OpenSSL将默认支持SSL压缩。如果客户端和服务器同时支持压缩,那么压缩将被启用。但是,当前的大多数客户端仍然会在建立SSL会话的最初尝试使用SSLv2,而SSLv2在握手阶段并不协商压缩算法,所以对于使用SSLv2的客户端,实际上是无法使用压缩的。如果客户端使用SSLv3或TLS建立连接,那么就可以启用压缩。你可以使用%{SSL_COMPRESS_METHOD}x变量在日志中记录客户端是否利用了压缩功能。
问题:Apache和OpenSSL的版本信息
Apache版本可以通过"httpd -v"命令查看,OpenSSL版本可以通过"openssl version"命令查看。此外,如果你安装了Lynx的话,还可以通过"lynx -mime_header http://localhost/ | grep Server"命令同时查看这两个信息。
问题:mod_ssl可以配合SGC(Server Gated Cryptography)技术(也就是Verisign Global ID)一起使用吗?
当然可以!mod_ssl从2.1版本起就支持SGC技术了,并且不需要任何特殊的配置——只要使用Global ID作为你的服务器证书即可。客户端浏览器的提升工作会由mod_ssl在运行时自动处理。