我可以将TLSv1.0用于一个客户端IP,其他人可以使用TLS v1.2

像这样的东西?

# TLS v1.0+ for one IP <VirtualHost _default_:443> Order deny,allow // <------------- HERE Deny from all // <------------- HERE Allow from 10.20.30.40 // <------------- HERE SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK SSLHonorCipherOrder on SSLCompression off ... </VirtualHost> # TLS v1.2 for everyone else <VirtualHost _default_:443> Order allow,deny // <------------- HERE Deny from 10.20.30.40 // <------------- HERE Allow from * // <------------- HERE SSLProtocol -all +TLSv1.2 SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AECDH-AES256-SHA:ADH-AES256-GCM-SHA384:ADH-AES256-SHA256:ADH-AES256-SHA:ECDH-RSA-AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-AES256-SHA384:ECDH-ECDSA-AES256-SHA384:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:AECDH-DES-CBC3-SHA:ADH-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA SSLHonorCipherOrder on SSLCompression off ... </VirtualHost> 

编辑:

我也有一个想法,为不同的端口创build第二个VirtualHost让我们说,344和转发/路由端口443为344该特定的IP。 可能吗?

创build两个虚拟主机,仅在使用的端口上有所不同。

使用iptables有条件地将选定的IPredirect到TLS 1.0实例。

 iptables -t nat -A PREROUTING -s CLIENT_OF_INTEREST -p tcp --dport 443 -j REDIRECT --to-port 344 

虽然,我必须补充说,这样做会让我感觉有些不好意思。 如果可能的话,让客户能够做TLS 1.2会更好。

例如。 如果它的Java,确保你有'无限的'encryption位。

但我很明白,这并不总是可能的。

是的,可以的,您可以为每个虚拟主机设置SSLProtocol指令。

您发布的示例configuration似乎没问题,但是您使用的是默认的虚拟主机。 您最好使用IP:端口。

http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslprotocol

https://httpd.apache.org/docs/2.4/mod/core.html#virtualhost