我可以安全地删除 Via http 标头吗?

我可以安全地删除 Via http 标头吗?

我有一个面向互联网的服务,它通过 https 提供 API - json、xml 等 - 类似于https://api.example.org/api/foo。API 通常由公司内部服务构建,但即使我们向外部互联网服务发出请求,我也希望它们在客户看来是我的服务。

从用户代理角度https://api.example.org是源服务器。

我们购买了一家供应商的 API 网关产品来保护 API。到目前为止一切顺利。

当前,网关正在将 Via 标头附加到包含处理请求的服务器的内部主机名的请求中,这不是很好。

 > GET /api/foo/bar HTTP/1.1
 > User-Agent: curl/7.37.1
 > Host: api.example.org
 > Accept: */*
 > 
 < HTTP/1.1 200 OK
 < Content-Type: application/json
 < Date: Thu, 15 Mar 2015 22:11:46 GMT
 < Max-Forwards: 20
 * Server Apache-Coyote/1.1 is not blacklisted
 < Server: Apache-Coyote/1.1
 < Via: 1.0 myinternalhostname.local (Apache-Coyote/1.1)
 < transfer-encoding: chunked
 < Connection: keep-alive

无论他们是否可以使用它,我都不希望机器人和坏人知道我的主机名。

我可以删除 Via 标头吗,或者我应该将其清理为公共名称,例如

< Via: 1.0 api.example.org (Apache-Coyote/1.1) 

我知道为什么 Via 标头存在,并且我不认为我的 api 服务器需要满足 RFC,因为它充当 Origin 服务器。(即使实际上它是一个网关/反向代理,客户端不需要知道这一点)。

总结

从 Origin 服务器删除 Via 标头是否安全?

答案1

Via 标头旨在将责任推给其他人。

如果它不能达到这个目的,那么删除它或者不生成它是完全可以接受的。

相关内容