如何隐藏HTTP响应头

  • 中文 (简体)
  • 本文将探讨如何隐藏HTTP响应头,如何去除HTTP响应头。

    如何隐藏HTTP响应头

    文章导航

    HTTP响应头是什么?

    举例来说,当我们通过浏览器浏览网页时,浏览器会充当客户端,并向服务器发送HTTP请求,请求所需的网页内容。服务器在收到请求后,会生成HTTP响应,并将其发送回浏览器。而HTTP响应头(HTTP Response Headers)就是HTTP响应的一部分。

    为什么隐藏HTTP响应头?

    隐藏HTTP响应头通常是出于安全和隐私考虑。因为HTTP响应头中可能包含有关服务器和应用程序的敏感信息,如服务器类型、版本号等。攻击者可以利用这些关键信息展开针对性的攻击。通常我们在Wordpress安全中隐藏Wordpress版本号也是出于类似考虑。

    除了安全和隐私考虑,有时候隐藏特定的响应头还可能是因为响应头中出现了多个重复的响应头。响应头重复通常不是一个严重的问题,因为HTTP协议允许出现多个相同名称的响应头,而且浏览器通常会将多个响应头合并处理。但是,重复的响应头仍可能会导致一些不必要的复杂性,让一些有洁癖的站长(比如我😄)看着不舒服,那么我们可以通过一些方法来解决这个问题。

    如何隐藏HTTP响应头?

    隐藏HTTP响应头的方法有很多,修改Web服务器配置就是其中一种方便高效的方法。

    Nginx

    步骤1:找到Nginx配置文件

    Nginx的配置文件通常位于以下几个位置:

    • /etc/nginx/nginx.conf
    • /usr/local/nginx/conf/nginx.conf
    • /etc/nginx/sitesenabled/default.conf
    • /etc/nginx/sitesenabled/your-domian.conf
    步骤2:编辑配置文件

    在Nginx配置文件中,可以使用proxy_hide_headeradd_header指令来隐藏或添加HTTP响应头。

    使用proxy_hide_header指令隐藏特定的响应头:

    隐藏X-Powered-By响应头

    使用Header指令添加新的响应头,覆盖原有响应头:

    如果需要达到隐藏的目的,将此处的Custom Value设置为空值就好了。

    案例演示

    Cloudpanel管理面板创建的网站,往往会存在重复的响应头。如果你像我一样有洁癖😁,可以参考下面的方法来隐藏重复的响应头。

    网站出现重复响应头的案例

    在网站的Nginx配置文件里,添加如下代码,隐藏Referrer-PolicyX-Content-Type-OptionsX-Frame-OptionsX-Permitted-Cross-Domain-PoliciesX-Xss-Protection,共5个重复的响应头。

    使用proxy_hide_header指令隐藏特定的响应头:

    使用Header指令添加新的响应头,覆盖原有响应头:

    在Nginx配置文件中添加隐藏响应头规则

    重启Nginx后,通过浏览器重新查看响应头,会发现重复的响应头已经被隐藏了。

    添加隐藏响应头规则后,通过浏览器开发者工具查看,确认响应头被隐藏了

    上面介绍的方案只是隐藏,而不是真正移除。如果需要彻底移除,可以通过修改Nginx全局配置文件。

    Nginx全局配置文件通常位置为:/etc/nginx/nginx.conf

    将下面的这段代码从配置文件中删除。

    在Nginx配置文件中移除相关“添加响应头”的规则代码

    注意事项

    • 需要注意的是,响应头的存在有其特定的作用,很多的响应头能够增加安全性。所以通常不建议移除安全性相关的响应头,如果出现重复,可以考虑隐藏的方案。移除隐藏带来的效果是不一样的。

    总结

    本文结合了具体案例,介绍了如何隐藏响应头。如果是Apache服务器,方法会有所不同,不过大致思路是一样的,这里不再赘述。

    the site icon of fahaiseo.com webiste

    法海

    专注

    从教育行业起步,先后涉猎多个行业,现专注于网页设计和营销推广。
    人生很短,希望能留下点有用的东西。
    fahaiseo是我在网页设计、营销推广方面的经验分享,希望能帮助到你。

    发表评论