最近发现自己ubuntu10.04服务器上的apache https无法通过win11上的edge和firefox浏览器访问,但xp下的ie6和ie8没有问题。
firefox的错误提示为“此网站可能不支持TLS 1.2协议,而这是Firefox支持的最低版本”。
经过检查发现:
IE6访问https所需的版本是SSLv3。
IE8访问https所需的版本是TLS1.0。
但win11上的edge和最新版本的firefox浏览器访问https所需的版本是TLS1.2。
使apache服务器支持TLS1.2需要的服务器运行环境:
apache对应版本应>=2.2.23
OpenSSL对应版本应>=1.0.1
查看apache和openssl的版本:
apache2 -v
openssl version -a
查看openssl支持的加密算法:
openssl ciphers -v
ubuntu10.04里面能用sudo apt-get安装的最高版本是
Server version: Apache/2.2.14 (Ubuntu)
Server built: Mar 5 2015 18:11:29
OpenSSL 0.9.8k 25 Mar 2009
built on: Thu Mar 19 15:32:30 UTC 2015
所以必须自己编译新版的apache2和openssl。
系统默认的apache2和openssl都是安装在/usr下的。两者安装在同一目录下,安装文件直接混合在一起。
我们自己源码编译安装的默认是/usr/local/apache2和/usr/local/ssl,两者是分开的。
源码编译安装openssl 1.0.1f:
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1f.tar.gz --no-check-certificate
tar xf openssl-1.0.1f.tar.gz
c