Со вчерашнего дня я применил OpenSSL-1.0.2h к своему серверу Nginx, который я перекомпилировал из исходников. Что касается OpenSSL, я следовал этому руководству: https://syslint.com/blog/tutorial/how-to-upgrade-openssl-on-centos-7-or-rhel-7/. Впоследствии было относительно легко скомпилировать Nginx с помощью:
./configure --prefix=/etc/nginx ... --with-openssl=/usr/local/src/openssl-1.0.2h
$ openssl version
OpenSSL 1.0.2h 3 May 2016
$ which openssl
/usr/bin/openssl
$ ls /usr/bin/openssl
/usr/bin/openssl -> /usr/local/ssl/bin/openssl
$ find / -name "openssl"
...
/usr/include/openssl
/usr/local/src/openssl-1.0.2h/apps/openssl
/usr/local/src/openssl-1.0.2h/include/openssl
/usr/local/src/openssl-1.0.2h/.openssl/include/openssl
/usr/local/src/openssl-1.0.2h/.openssl/bin/openssl
/usr/local/ssl/include/openssl
/usr/local/ssl/bin/openssl
...
$ nginx -V
nginx version: nginx/1.11.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.2h 3 May 2016
$ ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
$ php -i
...
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1e-fips 11 Feb 2013
OpenSSL Header Version => OpenSSL 1.0.1e-fips 11 Feb 2013
Native OpenSSL support => enabled
...
К сожалению, поиск в Google и поиск в документации PHP (http://php.net/manual/en/openssl.installation.php) мне не помогло. Я подумал о перекомпиляции PHP с новейшим OpenSSL, предоставив:
./configure -disable-shared ... --with-openssl=/usr/local/src/openssl-1.0.2h
однако это говорит мне:
configure: error: Cannot find OpenSSL's libraries
Любая помощь приветствуется!
Я думаю, вам следует установить openssl-devel (yum install openssl-devel
). Затем вы можете перекомпилировать PHP с последней версией OpenSSL.