システムレベルでhttpヘッダーを変更する(Linux)

Firefoxヘッダーだけでなく(ヘッダーの変更プラグインを使用して)、ヘッダーを追加したいのですが、システムレベルで追加してください。私はSkypeのリクエスト(例えばIDE)にヘッダーを追加することができないので、このヘッダーを追加するにはシステム内に単一のポイントが必要です。 Linuxでも可能ですか?

P.S.あなたのスマートなコメントを置くことができますか?

2
発信HTTPヘッダーのみ。私はfirefoxのためのプラグインを使用しますが、他のすべてのプログラムはこれを行うことができません。
追加された 著者 damluar,
なぜあなたはプラグインを知る必要がありますか?問題はそれらに関するものではありません
追加された 著者 damluar,
私は、Firefoxでプラグインを使用しているという質問に答えました。どのレベルですか、どう思いますか?
追加された 著者 damluar,
質問は意味をなさない。 サーバー側にヘッダーを追加するか、一部のシステムのすべてのクライアントプロセス用にヘッダーを追加しますか?
追加された 著者 bmargulies,
ああよく、あなたはFirefoxプラグインを使用しています。約470億のFirefoxプラグインのどれを意味するのでしょうか?
追加された 著者 Paul Tomblin,
もう少し説明が必要です。 "httpヘッダーを変更する"?来ると、出かけるには、ある特定のプログラム、サードパーティのページ、何?
追加された 著者 Paul Tomblin,

3 答え

すべての発信HTTPリクエストをプロキシにリダイレクトして、そのプロキシに(たとえば Squid )ヘッダーを追加させることができます。

すべてのリクエストを80ポート(デフォルトのHTTPポート)にリダイレクトすることは、システム全体の iptables トリックで行うことができます(しかし、これは嫌です)。

3
追加された
感謝しました。私はその考えを持っていました。イカを使ってヘッダーを追加するにはどうしたらいいですか?
追加された 著者 damluar,
追加された 著者 Basile Starynkevitch,

プロキシを使用することは、実際にはシステム全体でこれを行う唯一の方法です。 LinuxにはHTTPヘッダーの概念がありません。基本的なソケットを管理するだけです。ただし、各クライアントプログラムは、プロキシを使用する必要があります。

Squidの場合は、request_header_replace設定ディレクティブを使用します。

request_header_replace header_name data
1
追加された

私は実際にこの問題に直面しましたが、この質問に対する完全な簡単な答えはありません。多くの場合、削除するヘッダーに依存します。ページのレンダリングでは削除できない標準的なHTTPプロトコルヘッダーがいくつかありますが、一般的な質問に対する回答を得るためには、次のことを行う必要があります。

ServerSignature Off

ServerTokens Prod

Apacheを使用していて、mod_headersがオンになっていると仮定して、Apacheのconfファイル、仮想ホストの定義、または.htaccessファイルで他のヘッダを削除することができます:


Header unset HEADER_NAME

繰り返すだけで、削除するヘッダに依存しているので、ヘッダーのunsetが完全に機能しない場合、これらのヘッダーのいくつかはApacheのソースを変更しないで削除することも、mod_perlを完全に理解して標準ヘッダを上書きすることもできません。また、PHPやヘッダーを編集するためのあなたのコードを使用しようとすることもできますが、あなたも同様にいくつかの問題が発生する可能性があります。

私はこれが助けて欲しい、もう一度私はちょうどこれを通過したので、私はいくつかの挑戦と落とし穴に役立つことを願っています:)

0
追加された
@RobertVanSant OPは、HTTPサーバーの応答ではなく、システム上のすべてのクライアントの要求にヘッダーを追加する必要があります。
追加された 著者 Scott A,
私は明日、助けてくれてありがとう。私は明日の答えをマークします。
追加された 著者 damluar,
どこで走る?私はApacheを使用していません。クライアントプログラム。私はすべての発信リクエストにヘッダを追加できる単一のポイントが必要です
追加された 著者 damluar,
私はちょうどヘッダーを追加したい、何も削除する必要はありません
追加された 著者 damluar,
conf、vhost、または.htaccessファイルのHEADER_NAMEの "VALUE" をヘッダーに追加する - 幸運を祈る
追加された 著者 Robert Van Sant,
あなたのhttpd.confの一番下にその行を置き、システム全体で動作するはずです。申し訳ありませんが、私は実行することを意味しなかった、私はこれらの行を追加することを意味:)
追加された 著者 Robert Van Sant,
apacheを再起動することを忘れないでください;)
追加された 著者 Robert Van Sant,
この作品でしたか?
追加された 著者 Robert Van Sant,
ほんとうに、私はすぐにヘッダーを追加して読んで申し訳ありません。これはSetEnvIfのように行うこともできます。 SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeaderヘッダーセット "%D%t mytext" env = HAVE_MyRequestHeader
追加された 著者 Robert Van Sant,