zoukankan      html  css  js  c++  java
  • nginx添加https模块

    nginx添加https模块

    在配置文件nginx.conf,开启了https监听后,nginx -t检查报错如下,表明ssl参数需要使用ngx_http_ssl_module

    nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module
    

    检查现有模块

    查看nginx已安装的模块,说明没有http_ssl_module模块

    nginx -V
    ...
    configure arguments: --prefix=/usr/local/nginx --with-stream --without-http_gzip_module --without-http_rewrite_module
    

    开启http_ssl_module模块要加上--with_http_ssl_module,即configure arguments修改成

    --prefix=/usr/local/nginx --with-stream --without-http_gzip_module --without-http_rewrite_module --with-http_ssl_module
    

    nginx开启ssl模块

    进入到nginx源码目录下,进行

    cd /opt/nginx-1.20.0
    
    #进行编译前的检查
    ./configure --prefix=/usr/local/nginx --with-stream --without-http_gzip_module --without-http_rewrite_module --with-http_ssl_module
    

    由于没有安装openssl-devel组件,检查未通过,根据报错SSL modules require the OpenSSL library,知道了nginx的ssl模块需要openssl库,使用包管理工具安装.对于类似的报错情况,可根据错误提示自行处理

    ./configure: error: SSL modules require the OpenSSL library.
    You can either do not enable the modules, or install the OpenSSL library
    into the system, or build the OpenSSL library statically from the source
    with nginx by using --with-openssl=<path> option.
    
    yum install -y openssl-devel
    

    再次进行检查,直到echo $?返回状态码为0,表示通过检查,进行下一步

    ./configure --prefix=/usr/local/nginx --with-stream --without-http_gzip_module --without-http_rewrite_module --with-http_ssl_module
    
    echo $?
    0
    

    进行编译

    make
    

    这里不要进行make install,否则就是覆盖安装

    备份nginx可执行文件

    然后备份原有已安装好的nginx

    cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    

    关闭nginx,替换可执行文件

    然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)

    之前对nginx做了单元文件配置,可以通过系统命令控制nginx服务

    没有做单元配置的,直接使用原始命令操作即可

    两条命令执行一个就可以

    #关闭nginx
    systemctl stop nginxd.service
    #nginx原始命令
    nginx -s stop
    
    #强制覆盖nginx可执行文件
    \cp ./objs/nginx /usr/local/nginx/sbin/nginx
    

    检查nginx模块

    查看nginx模块参数,可以看到已经加载了--with-http_ssl_module参数

    nginx -V
    ...
    configure arguments: --prefix=/usr/local/nginx --with-stream --without-http_gzip_module --without-http_rewrite_module --with-http_ssl_module
    

    检查nginx配置

    nginx检查配置文件是否有错误,没有问题,就可以对外提供https服务

    nginx -t
    

    参考链接

    https://www.cnblogs.com/ghjbk/p/6744131.html

  • 相关阅读:
    导入已有项目到svn
    Linux用ICMP协议实现简单Ping网络监测功能
    c++ tcp 服务器和客户端例子
    C++ Socket 编程
    c++工厂模式和多线程结合
    Linux中ls命令详解
    Mac OS X 11中的/usr/bin 的“Operation not permitted”
    Warning: mysql_connect(): No such file or directory 解决方案总结(操作系统: Mac)
    页面组件渲染小组件(重点)
    Vue 路由
  • 原文地址:https://www.cnblogs.com/anyux/p/15702007.html
Copyright © 2011-2022 走看看