nginx安装httphttp_ssl_module报错问题解决

问题:源码安装Openssl之后重新编译Nginx会报如下错误:

checking for OpenSSL library ... not found
checking for OpenSSL library in /usr/local/ ... not found
checking for OpenSSL library in /usr/pkg/ ... not found
checking for OpenSSL library in /opt/local/ ... not found

解决办法:

查看openssl当前版本:

[root@bestmem ~]# rpm -qa | grep openssl
openssl-libs-1.0.2k-16.el7.x86_64
openssl-1.0.2k-16.el7.x86_64
openssl-devel-1.0.2k-16.el7.x86_64

源码安装openssl-1.1.1:

[root@bestmem ~]# tar zxf openssl-1.1.1a.tar.gz -C /usr/local/
[root@bestmem ~]# cd /usr/local/openssl-1.1.1a/
[root@bestmem openssl-1.1.1a]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl shared
[root@bestmem openssl-1.1.1a]# make && make install
[root@bestmem openssl-1.1.1a]# ln -s /usr/local/openssl/bin/openssl /usr/local/bin/openssl	#创建openssl命令链接

–prefix:指定安装目录
–openssldir:指定openssl配置文件路径
–shared:创建动态链接库
至于为什么不需卸载rpm包安装的openssl-1.0.2,而直接安装openssl-1.1.0的原因如下:

[root@bestmem openssl-1.1.1a]# which openssl			#rpm包所安装的openssl,其二进制文件位置
/usr/bin/openssl
[root@bestmem openssl-1.1.1a]# echo $PATH				#PATH环境变量加载路径顺序,/usr/local/bin查询在前
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

重启终端后,加载新的环境变量。

[root@bestmem ~]# which openssl
/usr/local/bin/openssl
[root@bestmem ~]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

#创建对应的库文件链接即可
[root@bestmem ~]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@bestmem ~]# openssl version
openssl: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
[root@bestmem ~]# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
[root@bestmem ~]# openssl version
OpenSSL 1.1.1a  27 Mar 2020

若编译nginx,–with-openssl=/usr/local/openssl-1.1.1a即可。

在nginx解压包的目录下,./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/openssl-1.1.1a

make

./nginx -V

源码包下载地址:https://www.openssl.org/source/openssl-1.1.1a.tar.gz

https://blog.csdn.net/turnaroundfor/article/details/86076214

http://www.mamicode.com/info-detail-3022001.html

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您需要在 Nginx 中使用 SSL/TLS,您需要加载 `ngx_http_ssl_module` 模块。要加载此模块,请按照以下步骤进行操作: 1. 检查 Nginx 是否支持 ngx_http_ssl_module 在终端中输入以下命令: ``` nginx -V ``` 如果输出中包含 `--with-http_ssl_module`,则表示 Nginx 已经支持 ngx_http_ssl_module。 2. 编辑 Nginx 配置文件 如果您的 Nginx 配置文件中没有以下内容,请编辑 Nginx 配置文件,并添加以下内容: ``` http { # 其他配置 # 加载 SSL 模块 ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA; ssl_certificate /path/to/ssl_certificate; ssl_certificate_key /path/to/ssl_certificate_key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; # 其他配置 } ``` 请将 `/path/to/ssl_certificate` 和 `/path/to/ssl_certificate_key` 替换为您的 SSL 证书和私钥的实际路径。 3. 重新加载 Nginx 配置 在更改 Nginx 配置文件后,需要重新加载 Nginx 配置以使更改生效。您可以使用以下命令重新加载 Nginx 配置: ``` sudo nginx -t && sudo nginx -s reload ``` 现在,您的 Nginx 已经支持 ngx_http_ssl_module 模块了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值