解决nginx:[emerg]unknown directive ssl错误

简介: 解决nginx:[emerg]unknown directive ssl错误

昨天试着配置了一下Nginx的ssl证书,具体如下

http {
   server{
    listen 443 ssl;
    server_name www.xxx.com;
    ssl_certificate /etc/certs/cert.pem;
    ssl_certificate_key /etc/certs/cert.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    
    location /wxpay/ {
      proxy_set_header Host $host; 
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
      proxy_pass http://127.0.0.1:8080/wxpay;
    }
  }
  
  server {
        listen       80;
        server_name  www.xxx.com;
    rewrite ^/(.*)$ https://www.xxx.com:443/$1 permanent;
    }
}

发现无法启动,报nginx:[emerg]unknown directive ssl错误

出现这个问题是因为我编译的时候没有添加ssl模块,解决办法如下:

打开编译目录,假设是/usr/loacl/nginx1.16.0

cd /usr/loacl/nginx1.16.0

添加ssl模块

./configure --with-http_ssl_module

编译安装包

make

然后把编译好的文件替换之前的,在此之前你可以先备份一下原来的文件

cp objs/nginx /usr/local/nginx/sbin/nginx

最后,查看一下是否安装成功

./sbin/nginx -V

如果看到这样的结果就表示安装成功了

[root@launch-advisor-20180716 nginx]# ./sbin/nginx -V
nginx version: nginx/1.16.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_ssl_module

TLS SNI support enabled说明SSL可用,再启动Nginx就正常了


参考:https://blog.csdn.net/weixin_38111957/article/details/81283121

相关文章
|
3月前
|
应用服务中间件 Linux 网络安全
如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书
如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书
190 1
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
|
应用服务中间件 网络安全 nginx
nginx如何代理ssl
nginx如何代理ssl
|
3月前
|
存储 应用服务中间件 nginx
成功解决:nginx: [emerg] unexpected “}“ in /etc/nginx/conf.d/gulimall.conf:10
这篇文章详细介绍了Linux虚拟机磁盘空间不足时的扩容流程,从外部配置到具体扩容操作,再到验证扩容效果的步骤。同时,也探讨了Docker容器磁盘空间耗尽的问题,并提供了解决方案,包括删除无用镜像和容器,以及如何重新配置Docker的存储位置。文章还涵盖了一些意外情况的处理方法,比如误删容器后的恢复策略,并最终展示了使用Docker安装nginx并成功访问的详细过程。
成功解决:nginx: [emerg] unexpected “}“ in /etc/nginx/conf.d/gulimall.conf:10
|
3月前
|
jenkins 应用服务中间件 持续交付
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
191 8
|
3月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
111 2
|
3月前
|
Ubuntu 应用服务中间件 网络安全
如何在 Ubuntu 14.04 上为 Nginx 创建 SSL 证书
如何在 Ubuntu 14.04 上为 Nginx 创建 SSL 证书
103 0
|
23天前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
30天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
246 0
|
1月前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
85 4