Nginx配置SSL证书出错解决⽅案
⼀、引⾔
当我们的Linux服务器上当中发布了web项⽬,有时候需要配置⼀个SSL证书,这样表⽰你这个⽹站还⽐较正式哈哈哈。当我把证书下载好,把f配置好,简直就是万事俱备,只⽋重启。结果⼀重启,duang~出错了。
nginx:[emerg]unknown directive ssl,就是这个错误提⽰
因为我们配置这个SSL证书需要引⽤到nginx的中SSL这模块,然⽽我们⼀开始编译的Nginx的时候并没有把SSL模块⼀起编译进去,所以导致这个错误的出现。
⼆、错误解决步骤
既然在安装的时候没有编译ssl,难道把nginx卸载重新安装⼀次?不不不,我们只需要在原有的基础上添加ssl模块就⾏了。
步骤⼀:我们先来到当初下载nginx的包压缩的解压⽬录,如果你是看⼩编写的教程安装的,解压⽬录应该在“/usr/loacl/src/”,绝⼤多数应该都是在这个⽬录下的,已经是⼀种规范了。
nginx ssl证书配置步骤⼆:来到解压⽬录下后,按顺序执⾏⼀下命令:
命令1、./configure --with-http_ssl_module //重新添加这个ssl模块
注意如果没有出现错误,则直接看命令2即可
执⾏以上⼀条命令出现这个错误(./configure:错误:SSL模块需要OpenSSL库。),原因是因为缺少了OpenSSL,那我们再来安装⼀个即可执⾏:yum -y install openssl openssl-devel
等待OpenSSL的安装完成后,再执⾏./configure ,最后在执⾏” 命令1" 即可。
命令2、执⾏make命令,但是不要执⾏make install,因为make是⽤来编译的,⽽make install是安装,不然你整个nginx会重新覆盖的。
命令3、在我们执⾏完做命令后,我们可以查看到在nginx解压⽬录下,objs⽂件夹中多了⼀个nginx的⽂件,这个就是新版本的程序了。⾸先我们把之前的nginx先备份⼀下,然后把新的程序复制过去覆盖之前的即可。
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
命令4,最后我们来到Nginx安装⽬录下,来查看是否有安装ssl模块成功。执⾏./sbin/nginx -V即可看到如下图:
三、最后如果出现如上图,则SSL模块添加到Nginx的编译好了,这次重新启动则OK了。
如果重新启动nginx报如下错误:
nginx 报错 : [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead
将 ssl on改为listen 443 ssl。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论