博客
关于我
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
阅读量:791 次
发布时间:2023-02-15

本文共 1982 字,大约阅读时间需要 6 分钟。

一:开始Nginx的SSL模块

1.1 Nginx若未开启SSL模块,配置Https时会提示错误

此时的错误提示提示用户需要启用ngx_http_ssl_module模块。这种情况通常发生在安装Nginx时未配置--with-http_ssl_module选项。要解决这个问题,可按照以下步骤操作:

  • 确认当前Nginx的安装目录为/usr/local/nginx,源码包位于/usr/local/src/nginx-1.6.2。

  • 重新编译Nginx,添加ssl模块:

  • cd /usr/local/src/nginx-1.6.2  ./configure --prefix=/usr/local/nginx --with-http_ssl_module  make
    1. 备份原有Nginx配置:
    2. cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak  cp ./objs/nginx /usr/local/nginx/sbin/

      1.2 启用Nginx的SSL模块

    3. 首先进入源码目录:
    4. cd /usr/local/src/nginx-1.11.3
      1. 查看当前配置信息:
      2. /usr/local/nginx/sbin/nginx -V
        1. 确认当前已有模块:
          此时的configure参数显示为:
        2. --prefix=/usr/local/nginx --with-http_stub_status_module
          1. 新增ssl模块:
          2. ./configure --prefix=/usr/local/nginx --with-http_ssl_module
            1. 编译并覆盖已有Nginx:
            2. make  cp ./objs/nginx /usr/local/nginx/sbin/

              Nginx配置Http和Https共存

              以下是实现Http和Https共存的配置示例:

              server {      listen 80 default_backend=server;      server_name wosign.com;      rewrite ^(.*) https://$server_name$1 permanent;  }  server {      listen 443 ssl;      server_name wosign.com;      ssl_certificate /usr/local/Tengine/sslcrt/wosign.com.crt;      ssl_certificate_key /usr/local/Tengine/sslcrt/wosign.com.key;      root /var/www/html;  }

              Nginx配置SSL安全证书重启避免输入密码

              为了避免输入私钥密码,可以使用私钥文件进行解密:

              openssl rsa -in server.key -out server.key.unsecure

              这样可以生成一个解密后的key文件,方便Nginx重启时直接使用,无需输入密码。

              Nginx SSL性能优化

              为了提升SSL性能,可在Nginx配置中添加以下优化参数:

              ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;  ssl_prefer_server_ciphers on;  ssl_session_cache shared:SSL:10m;  ssl_session_timeout 10m;

              Nginx配置Http跳转Https

              可以通过Nginx配置让所有访问的请求自动跳转到Https:

              server {      listen 80;      server_name www.example.com;      rewrite ^(.*) https://$server_name$1 permanent;  }  server {      listen 443 ssl;      server_name www.example.com;      ssl on;      ssl_certificate /etc/nginx/certs/server.crt;      ssl_certificate_key /etc/nginx/certs/server.key;      root /home/www;  }

              以上配置可根据实际需求进行调整,确保Nginx正常运行并支持SSL连接。

    转载地址:http://jecfk.baihongyu.com/

    你可能感兴趣的文章
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
    查看>>
    nestesd exception is java .lang.NoSuchMethodError:com.goolge.common.collect
    查看>>
    nestJS学习
    查看>>
    net core 环境部署的坑
    查看>>
    NET Framework安装失败的麻烦
    查看>>
    Net 应用程序如何在32位操作系统下申请超过2G的内存
    查看>>
    Net.Framework概述
    查看>>
    NET3.0+中使软件发出声音[整理篇]<转>
    查看>>
    net::err_aborted 错误码 404
    查看>>
    NetApp凭借领先的混合云数据与服务把握数字化转型机遇
    查看>>
    Netbeans 8.1启动参数配置
    查看>>
    NetBeans IDE8.0需要JDK1.7及以上版本
    查看>>
    NetBeans之改变难看的JSP脚本标签的背景色...
    查看>>
    netbeans生成的maven工程没有web.xml文件 如何新建
    查看>>
    netcat的端口转发功能的实现
    查看>>
    netfilter应用场景
    查看>>
    Netgear WN604 downloadFile.php 信息泄露漏洞复现(CVE-2024-6646)
    查看>>
    netlink2.6.32内核实现源码
    查看>>