OpenSSL全称为Secure Socket Layer,是Netscape所研发,利用数据加密(Encryption)作技术保障在Internet上数据传输的安全。可确保数据在网络上的传输不会被窃听及截取。
当然,OpenSSL是一个强大的密码库,我们在使用SSL协议的时候不一定非得采用OpenSSL,不过目前基本上都是用的OpenSSL,因为它更安全,使用起来也更简单。
通常出现的OpenSSL的漏洞需要升级版本解决
openssl version
cd /usr/local/scr
https://www.openssl.org/source/
tar zxf openssl-1.1.0h.tar.gz
./config --prefix=/usr/local/openssl-1.1.0h/ssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl-1.1.0h/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl-1.1.0h/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
ldconfig -v |grep openssl
openssl version
openssl version -a
########
nginx用户:
如果您是使用动态编译ssl模块的方式,需保证nginx链接的是升级后的libssl.so
如果您是使用静态编译ssl模块的方式,需重新编译nginx,--with-openssl参数指向新的openssl源码目录
我的nginx为静态编译的
cd /usr/local/scr/nginx-1.10.2
./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-http_ssl_module --with-openssl=/usr/local/openssl-1.1.0h/ssl
/usr/local/nginx/sbin/nginx -V
【--with-http_ssl_module 使得nginx支持ssl模块 --with-openssl指定安装目录,通常两个都加上】
make 【生成最新二进制文件】
这里可以不make install ,避免把原来的nginx其他配置覆盖了
/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127
解决方案:
https://www.cnblogs.com/huanhang/p/7580843.html
cp /usr/local/src/nginx-1.10.2/objs /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
启动代码格式:nginx安装目录地址 -c nginx配置文件地址
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
修复OpenSSL漏洞 升级OpenSSL版本 nginx静态编译ssl模块
原文地址:http://blog.51cto.com/zhanjun/2097178