当前位置:   article > 正文

Nginx解决配置SSL证书报错:nginx: [emerg] unknown directive “ssl_certificate1“ in /usr/local/nginx/conf/ngi..._nginx unknown directtive emerg

nginx unknown directtive emerg

前段时间自己尝试了下Nginx的反向代理, 将请求转发到Tomcat上; 应公司项目需要就自己研究了下配置添加证书, 实现https的请求; 我的证书是从阿里云买的免费的证书, 按照阿里云的提示, 将nginx.conf文件配置了下,配置如下:

  1. # HTTPS server
  2. server {
  3. listen 443;
  4. server_name www.test.com; #自己的域名
  5. ssl on;
  6. root html;
  7. index index.html index.htm;
  8. #这里的.pem/.key文件替换成自己对应的文件名
  9. ssl_certificate cert/xxxxxx.pem;
  10. ssl_certificate_key cert/xxxxx.key;
  11. ssl_session_timeout 5m;
  12. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  13. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  14. ssl_prefer_server_ciphers on;
  15. location / {
  16. #代理的目标地址
  17. proxy_pass http://127.0.0.1:8000;
  18. }
  19. }

开始以为按照这个配置, 就可以监听443端口了, 什么事都不是那么顺利,在objs文件夹中使用

./nginx -t

来检查配置文件是否合法时候, 总是报错误

 
  1. nginx: [emerg] unknown directive "ssl_certificate1" in /usr/local/nginx/conf/nginx.conf:107

  2. nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

这里的107行就是下面这个配置

ssl_certificate   

非常郁闷, 检查了好久, 以为是路径配置错误; 后来自己也百度了下, 才发现是nginx没有装-----ssl模块;

下面是排除问题的方法:

1.在nginx的安装目录执行

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

2.在nginx安装目录执行

make

千万不要make install 否则会覆盖现有的nginx

OK ~!! 这样事情就能完美解决, 再也不会有明明配置很正确的报错啦~!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/662195
推荐阅读
相关标签
  

闽ICP备14008679号