当前位置: 代码网 > it编程>编程语言>Java > Nginx 配置 proxy_hide_header 隐藏后端 Server 的版本信息的实现

Nginx 配置 proxy_hide_header 隐藏后端 Server 的版本信息的实现

2026年04月20日 Java 我要评论
在 nginx 反向代理场景中,后端服务(如 apache、tomcat、node.js 等)常会在响应头中携带 server、x-powered-by 等字段暴露版本信息。使用 proxy_hide

在 nginx 反向代理场景中,后端服务(如 apache、tomcat、node.js 等)常会在响应头中携带 server、x-powered-by 等字段暴露版本信息。使用 proxy_hide_header 指令可以在 nginx 层将其过滤掉。

为什么 proxy_hide_header server 通常不起作用

nginx 默认会将上游响应中的 server 头视为“受信响应头”,即使你写了 proxy_hide_header server,它仍可能被透传或被 nginx 自动重写。尤其当后端是标准 web 服务器(如 apache、tomcat)且未禁用自身 server 头时,nginx 的隐藏逻辑容易被绕过。

真正起效的方式是:让后端不发 server 头 + 让 nginx 不添加自己的 server 头 + 主动清除残留。

基础配置

在 location、server 或 http 块中添加:

location / {
    proxy_pass http://backend;
    # 隐藏后端 server 版本(如 apache/2.4.41、nginx/1.18.0 等)
    proxy_hide_header server;
    # 隐藏其他可能暴露技术栈的头部
    proxy_hide_header x-powered-by;
    proxy_hide_header x-aspnet-version;
    proxy_hide_header x-runtime;
}

完整安全加固示例

server {
    listen 80;
    server_name example.com;
    # 1. 隐藏 nginx 自身版本号(响应头中只显示 "nginx" 而不显示版本)
    server_tokens off;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header host $host;
        proxy_set_header x-real-ip $remote_addr;
        # 2. 隐藏后端暴露的头部
        proxy_hide_header server;
        proxy_hide_header x-powered-by;
        # 3. 可选:添加安全响应头
        add_header x-frame-options "sameorigin" always;
        add_header x-content-type-options "nosniff" always;
    }
}

关键指令说明

指令作用范围说明
proxy_hide_header server反向代理移除后端返回的 server 头(如 apache/2.4.41)
server_tokens offnginx 自身隐藏 nginx 版本号,错误页面也不显示版本
more_clear_headers servernginx 自身需要 headers-more-nginx-module 模块,可完全移除 server 头

注意事项

proxy_hide_header 只影响后端返回的头:如果要完全移除 nginx 自身的 server: nginx 头,需要安装第三方模块 headers-more-nginx-module:

more_clear_headers server;

检查是否生效:

curl -i http://example.com

确认响应头中不再包含 serverx-powered-by

如果后端是 nginx:后端也需要配置 server_tokens off;,否则它会将带版本的 server 头传给前端 nginx。

这样配置后,响应头中的服务器版本信息就会被有效隐藏,减少被针对性扫描攻击的风险。

到此这篇关于nginx 配置 proxy_hide_header 隐藏后端 server 的版本信息的文章就介绍到这了,更多相关nginx 隐藏server版本信息内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com