如何更改(隐藏)Nginx服务器签名?

azpvetkf  于 2022-12-03  发布在  Nginx
关注(0)|答案(6)|浏览(160)

我可以隐藏Nginx版本使用server_tokens选项设置为关闭。但不能改变Nginx服务器签名。
我做的步骤,
1.)将源文件(src/http/ngx_http_header_filter_module. c)中的Nginx服务器名称更改为“My-Server”。之后,编译了nginx。但当我加载url时,它不工作。奇怪的是,当我使用curl命令时,我可以看到我更新的签名。但在浏览器中,这一点没有更新。
2.)所以我尝试了第三方模块(headers-more-nginx-module)。这也不起作用。通过Curl获得更新的名称。但在浏览器中没有。

tyky79it

tyky79it1#

如果您使用ubuntu,那么
1.首次安装nginx-extras

sudo apt-get install nginx-extras

1.转到/etc/nginx/nginx.conf并在http下添加:

http {
    more_set_headers "Server: Your_New_Server_Name";
    server_tokens off; 
}

1.重新启动nginx

sudo service nginx restart
eulz3vhy

eulz3vhy2#

转到nginx conf并关闭server_tokens。

/etc/nginx/nginx.conf

server_tokens off;
vd8tlhqk

vd8tlhqk3#

1.安装
1.请使用more_set_headers指示词变更它。
1.重新加载Nginx以使其生效。

隐藏nginx版本信息。

服务器令牌关闭;

更改服务器名称。

服务器:我的服务器名称”;

wkftcu5l

wkftcu5l4#

你可以在你的Nginx配置中使用它。

proxy_pass_header Server;
hi3rlvi2

hi3rlvi25#

如果使用ModSecurity v2.0 - v2.9,那么在.conf文件中你可以使用

SecServerSignature SomeName

ModSecurity v3 SecServerSignature已经被弃用,但我不知道他们是否用其他东西替换了它。

iezvtpos

iezvtpos6#

我也遇到了同样的问题。在服务器部分,我添加了
server_tokens off;//这将删除版本
并在HTTP部分添加了
proxy_pass_header Server;//将隐藏服务器名称和版本
最终的nginx.conf文件如下所示:

server {
        listen 9090;

       server_tokens off;

        location / {
                access_log off;
                add_header Content-Type text/plain;
                return 200;
        }
        location /test {
                rewrite /test/(.*) /$1  break;
                proxy_pass         http://localhost:9090;
                proxy_redirect     off;
                proxy_set_header   Host $host;

                proxy_pass_header Server;

                client_max_body_size 200M;
                proxy_connect_timeout      240;
                proxy_send_timeout         240;
                proxy_read_timeout         240;
        }
}

对我很有效。

相关问题