修改系统级别的http标头(Linux)

时间:2011-11-12 21:55:38

标签: linux http ubuntu

我想在Firefox中添加http标头(使用“修改标头”插件),但在系统级别。由于我无法在skype的请求中添加标头,例如,或者在IDE中,我需要系统中的单个点来添加此标头。在Linux中有可能吗?

P.S。想要解决这个问题的“聪明人”:你能否提出明智的评论?

3 个答案:

答案 0 :(得分:3)

您可以将所有传出的HTTP请求重定向到代理,并让该代理(例如Squid)添加标头。

将所有请求重定向到80端口(即默认HTTP端口)可以通过系统范围的iptables技巧完成(但这很恶心)。

答案 1 :(得分:1)

使用代理实际上是在系统范围内执行此操作的唯一方法。 Linux没有HTTP头的概念......只是在那里管理底层套接字。但是,每个客户端程序都需要使用代理。

对于Squid,请使用request_header_replace配置指令:

request_header_replace header_name data

答案 2 :(得分:0)

我实际上刚遇到这个问题,但这个问题没有一个完整的简单答案。很大程度上取决于您要删除的标头。有一些标准的http协议标题无法在页面渲染中删除,但为了给您一般问题的答案,您应该执行以下操作:

ServerSignature Off

ServerTokens Prod

可以在Apache conf文件,虚拟主机定义或.htaccess文件中删除其他标头,假设您正在使用Apache并且已打开mod_headers:

<IfModule mod_headers.c>
Header unset HEADER_NAME
</IfModule>

重申一下,很多都取决于你要删除的标题,所以如果Header unset不能完全运行,那么如果不修改你的apache源或mod_perl的完整知识,就无法删除其中一些标题。覆盖标准标题。您也可以尝试使用php或您选择的代码来编辑标题,但您也可能会遇到一些问题。

我希望这会有所帮助,我只是经历了这一点,所以我希望能够帮助解决一些挑战和陷阱,如果可以的话:)。