zoukankan      html  css  js  c++  java
  • nginx优化之隐藏版本号

    某些时候为了安全,我们不希望用户能够获取到我们使用的nginx版本号,这时候就可以通过修改配置文件来显示隐藏版本号。

    此方法只能隐藏版本号,要修改版本号和显示名称需要修改源码包重新编译安装。

    隐藏版本号

    修改nginx配置文件,在server标签下添加一行就好

    vim nginx.conf 

    server_tokens off;

    平滑重启后生效

     /apps/nginx/sbin/nginx  -s  reload

    [root@web1 ~]# curl -I 10.0.0.20
    HTTP/1.1 200 OK
    Server: nginx
    Date: Mon, 26 Mar 2018 13:44:15 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Sun, 25 Mar 2018 14:35:02 GMT
    Connection: keep-alive
    ETag: "5ab7b396-264"
    Accept-Ranges: bytes
    

    修改web服务名称

    隐藏版本号,需要修改源码文件,重新编译安装

    1:

    编辑文件 ~nginx-1.12.2/src/core/nginx.h

    找到这么几行

    #define nginx_version 1012002
    #define NGINX_VERSION "1.12.2"                         --版本号
    #define NGINX_VER "nginx/" NGINX_VERSION      --名称

    将服务器修改为YWS

    #define NGINX_VER "YWS/" NGINX_VERSION

    2:

    其实修改上面一个大部分就会生效!!!

     src/http/ngx_http_header_filter_module.c (HTTP ResponseHeader)

    static char ngx_http_server_string[] = "Server: nginx" CRLF;

    修改为:

    static char ngx_http_server_string[] = "Server: YWS" CRLF;

    3: src/http/ngx_http_special_response.c 

    static u_char ngx_http_error_tail[] =
    "<hr><center>nginx</center>" CRLF
    "</body>" CRLF
    "</html>" CRLF

    修改为:

    static u_char ngx_http_error_tail[] =
    "<hr><center>YWS</center>" CRLF
    "</body>" CRLF
    "</html>" CRLF

      

    /usr/local/nginx/sbin/nginx -V  查看以前的编译参数

    重新编译安装

    测试一下

    [root@web1 nginx-1.12.2]# curl -I 127.0.0.1
    HTTP/1.1 200 OK
    Server: YWS/1.12.2
    Date: Tue, 12 Jun 2018 02:51:32 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Tue, 12 Jun 2018 02:45:45 GMT
    Connection: keep-alive
    ETag: "5b1f33d9-264"
    Accept-Ranges: bytes

  • 相关阅读:
    php文件下载原理
    spring源码@configuration&@bean
    解决java在idea运行正常,但是打成jar包后中文乱码问题
    IntelliJ IDEA查看堆内存和类继承关系
    jenkins无法展示报告
    解决windows(slave)导致linux(master)输出乱码
    UIRECODER安装记录
    vue项目前后端部署
    django orm
    django笔记
  • 原文地址:https://www.cnblogs.com/sunny18/p/8654244.html
Copyright © 2011-2022 走看看