zoukankan      html  css  js  c++  java
  • Nginx修改版本信息或隐藏版本号

    一,隐藏版本号。
    首先说明,这个是某一方面隐藏,不是彻底隐藏。未隐藏之前查看nginx信息:

         

    隐藏方法:

    修改nginx.conf配置文件,在http { } 标签里边加入字段:

    server_tokens off;

    重启nginx,查看nginx信息:
         

    通过curl已经无法查看到nginx具体版本信息。

    说明:这个指标不治本,比如php探针,还是可以看到nginx具体版本信息:

    原因是php的配置文件fastcgi.conf中读取的变量是:

    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

    鉴于此,我们如果需要php也要显示这些信息,那么需要将这里注释或者从根源上修改nginx版本信息(修改源码,重新编译或者是安装直接就修改)。个人不建议这么搞,毕竟还有nginx错误页面或者其他地方都有可能直接暴露出来。所以,要么简单隐藏,要么彻底改掉nginx信息(下边第二种方法)。

    二,根源上修改nginx版本号。
    这个比较彻底,一般是安装之前就修改源码,如安装过的,就要修改源码重新编译。一般修改三个地方:
    1,修改src/core/nginx.h(Nginx内部名称的)

    #define NGINX_VERSION      "1.12.0"#define NGINX_VER          "nginx/" NGINX_VERSION

    2,修改src/http/ngx_http_header_filter_module.c(HTTP ResponseHeader)

    static u_char ngx_http_server_string[] = "Server: nginx" CRLF

    3,修改src/http/ngx_http_special_response.c(修改错误页的底部Footer)

    static u_char ngx_http_error_tail[] = 下的nginx信息

    修改完这些以后编译安装,或者重新编译。nginx版本信息则彻底修改。

  • 相关阅读:
    3_数据类型
    2_十进制与二进制的互相转换
    1_初识Java
    Jedis 常用API
    Eazfuscator.net 2020 IL级指令虚拟化保护(Virtualization)机制分析
    C#实现——十大排序算法之选择排序
    Flutter 开发从 0 到 1(三)布局与 ListView
    使用 .NET 进行游戏开发
    Metasploit简单使用——后渗透阶段
    ElasticSearch 索引 VS MySQL 索引
  • 原文地址:https://www.cnblogs.com/cxd4321/p/14887259.html
Copyright © 2011-2022 走看看