nginx配置https后报错nginx: [emerg] https protocol requires SSL support in XXX.conf详细解决方法

这篇具有很好参考价值的文章主要介绍了nginx配置https后报错nginx: [emerg] https protocol requires SSL support in XXX.conf详细解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

最近,在测试环境的nginx里增加了一个https配置:

        location /api-meeting-qq/ {
          proxy_pass https://api.meeting.qq.com/;
        }

然后,执行命令:

//这个是nginx启动文件的路径,根据实际情况自行更改
sudo /home/useradmin/nginx/sbin/nginx -s reload

结果,nginx就报错了:

nginx: [emerg] https protocol requires SSL support in /home/useradmin/nginx/conf.d/trainNginx.conf:9

二、解决方法

百度发现,是之前安装nginx时没有安装ssl模块,需要重新安装一个nginx。步骤如下:

1.下载好nginx安装包,例如nginx-1.17.2.tar.gz

2.查看下目前nginx使用的配置是什么:

/home/useradmin/nginx/sbin/nginx -V

发现,确实没有ssl模块:

[useradmin@web01 sbin]$ ./nginx -V
nginx version: nginx/1.17.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
configure arguments: --prefix=/home/useradmin/nginx

3.可以把之前的nginx关闭,然后重命名下:

sudo /home/useradmin/nginx/sbin/nginx -s stop
mv /home/useradmin/nginx /home/useradmin/nginxOld

4.解压nginx安装包tar.gz,到指定目录(如果没有就自己建一个文件夹):

tar -zxvf nginx-1.17.2.tar.gz -C ./nginx-1.17.2

5.cd到解压后的目录nginx-1.17.2,可以看到其中有configure文件;
然后执行命令,修改configure,安装时增加ssl模块:

//这个命令要参考第2步的结果,看下自己之前的配置是什么,然后在结尾增加ssl模块即可

./configure --prefix=/home/useradmin/nginx --with-http_ssl_module

6.然后,执行编译命令make与安装命令make install,就可以安装到指定文件夹了:

make && make install

7.可以把旧nginx中conf文件夹的内容,复制到新nginx文件夹中,就可以继续沿用旧nginx配置:

cp -r  /home/useradmin/nginxOld/conf /home/useradmin/nginx/conf

8.现在可以在新nginx中配置https转发,然后启动测试下:

sudo /home/useradmin/nginx/sbin/nginx

没有报错,就是成功了。

9.查看是否启动成功:

ps -ef |grep nginx

10.查看是否支持https:

/home/useradmin/nginx/sbin/nginx -V

结果为:

[useradmin@web01 ~]$ /home/useradmin/nginx/sbin/nginx -V
nginx version: nginx/1.17.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/home/useradmin/nginx --with-http_ssl_module

可以看到,有--with-http_ssl_module,说明成功安装了ssl模块。

三、备注

1.tar.gz解压到指定文件夹的命令为:

tar -zxvf nginx-1.17.2.tar.gz -C ./nginx-1.17.2

2.修改configure命令为(prefix配置了软件安装目录):

./configure --prefix=/home/useradmin/nginx --with-http_ssl_module

3.编译命令是make,与安装命令是make install,这2个都要执行,可以用make && make install文章来源地址https://www.toymoban.com/news/detail-401205.html

到了这里,关于nginx配置https后报错nginx: [emerg] https protocol requires SSL support in XXX.conf详细解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:35

    这个错误提示表明在Nginx配置文件(通常是nginx.conf)中使用了SSL(Secure Sockets Layer)相关的配置,但是Nginx没有加载相应的SSL模块。 1.检查Nginx是否编译了SSL模块: /usr/local/nginx/sbin/nginx -V 21 | grep --color=auto ssl /usr/local/nginx/sbin/nginx:安装nginx的绝对路径 输出以下结果 则为安装已

    2024年03月16日
    浏览(52)
  • Nginx启动报错,nginx: [emerg] SSL_CTX_use_PrivateKey_file(“/etc/infra/data/ngx/ssl/**.key“)

    Nginx启动报错 由于需求需要在nginx中添加ssl服务,ssl服务证书在 GoDaddy 上购买的,购买后在网页中获得private key和csr两个文件,然后在控制台中ssl栏进入下载证书,和 pem 文件内容一致大大概就是证书,提交服务器,配置好nginx配置文件,进行启动,返回以上报错。 将private k

    2024年02月13日
    浏览(42)
  • nginx 配置 ssl 后无法访问 nginx: [emerg] cannot load certificate “*”: BIO_new_file() failed

    nginx 配置 ssl 后无法访问 nginx -s reload 无异常,其他域名也可以正常访问 使用 systemctl status nginx 查看状态,发现异常 可能是 SELinux 打开造成无权限读取证书 如果状态为disabled是关闭,没必要往下看了 重启nginx,应该就可以了 nginx -s reload 无效,可能是以下原因,建议直接使用

    2024年02月08日
    浏览(52)
  • Linux下Nginx配置SSL模块,Nginx安装SSL,Nginx支持https配置详细教程

    前提:Linux安装Nginx,参考教程:CentOS7安装Nginx完整教程,Linux系统下保姆式安装Nginx教程 | 老麻 安装好Nginx之后,需要支持SSL时,要单独安装SSL模块,方法如下: 输入 ./nginx –V 命令,注意V是大写,查看配置是否包含“–with-http_ssl_module”,包含则表示已配置好SSL,如果不包

    2024年02月08日
    浏览(51)
  • 配置https---Nginx认证ssl证书

    nginx作为前端的负载均衡服务器已经很熟悉了,项目需要使用https安全的时候就需要认证证书了 dockerweb管理工具 Portainer 如果对docker不那么熟悉可以使用docker 第三方管理端 然后访问本地9000端口,登录后可以管理容器镜像 有了该工具可以直接进入容器查看日志等操作 nginx环境安装

    2024年01月19日
    浏览(52)
  • Linux配置Nginx SSL支持Https配置教程

    继承上篇 Linux安装Nginx 执行: ./nginx -V 命令 如果有输出 --–with-http_ssl_module 则说明已安装好SSL模块 进入安装目录 /usr/local/nginx-1.22.1 执行安装命令: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 执行编译命令: make 注意:make成功后不要执行 make insta

    2024年01月18日
    浏览(41)
  • nginx报错:./configure: error: SSL modules require the OpenSSL library. You can either

    nginx报错:./configure: error: SSL modules require the OpenSSL library. You can either 在nginx中配置监听443端口后重新加载配置文件出现此报错, 原因:未安装 ngx_http_ssl_module 模块 解决方法:

    2024年02月05日
    浏览(49)
  • nginx配置ssl证书使用https访问

    一:申请证书,我使用的是阿里云免费证书 二:下载证书,解压到服务器上 两个文件:www.xx.com.pem和www.xx.com.key 三:打开配置文件/usr/local/nginx/conf/nginx.conf 放开端口443,替换ssl_certificate和ssl_certificate_key为自己证书路径    server {         listen       443 ssl;         server_na

    2024年01月20日
    浏览(59)
  • Nginx配置ssl证书实现https安全访问

    目录 一、Nginx的安装与配置 安装步骤 二、SSL证书获取 三、Nginx配置 前题条件,拥有服务器与可以解析到该服务器的自己的域名。 若已安装好了Nginx,则需查看自己的Nginx是否开启了SSL的模块功能:  显示如上,则代表ssl功能已开启,否则可能出现以下错误提示: nginx: [emer

    2024年02月15日
    浏览(39)
  • nginx配置ssl支持https的详细步骤

    文章概要 :在建站的时候我们通常要让网站通过https进行访问,不然使用http过程中,所有信息都是未加密的,并且用户访问的时候浏览器会屏蔽我们的网站。本文介绍如何通过nginx配置ssl以支持通过https协议访问网站。 本文内容来自:谷流仓AI - ai.guliucang.com 打开nginx.conf配置

    2024年03月28日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包