
特定の IP アドレスから Web サイトにアクセスしたときに、単一または複数の HTTP ヘッダーを設定解除するにはどうすればよいですか? CSP 構成により、一部のローカル ページが正しく読み込まれないためです。たとえば、phpMyAdmin を持っていても、CSP が設定されているためローカルで使用できない場合などです。
答え1
次の設定を使用すると、IP アドレスに応じてヘッダーを設定解除できます。
# For single ip address. Change the IP address to your needs
<Directory "/path/to/the/folder/which/needs/to/have/this/feature">
<If "%{REMOTE_ADDR} == '127.0.0.1'">
Header always unset HeaderName
</If>
</Directory>
# For multiple IP addresses, remove the top one, and use this one, and change the IP addresses
# to your needs, and add more '||' to use more IP addresses.
<Directory "/path/to/the/folder/which/needs/to/have/this/feature">
<If "%{REMOTE_ADDR} == '127.0.0.1' || %{REMOTE_ADDR} == '1.2.3.4'">
Header always unset HeaderName
</If>
</Directory>
mod_headersが有効になっていることを確認してください。詳細については詳しくは、http://httpd.apache.org/docs/2.4/mod/core.html#if をご覧ください。そして詳しくはこちら
必要に応じて設定できますが、注意して、自分以外のすべてのユーザーに対して CSP などのヘッダーを無効にしないようにする必要があります。
答え2
Header
ディレクティブが機能しない場合は、代わりに ディレクティブを使用します。以下は、Apache がリバース プロキシとして使用されている場合に、ヘッダーRequestHeader
のスプーフィングを防止する方法の例です。この場合、は効果がありません。X-Forwarded-For
Header
RequestHeader unset X-Forwarded-For
RemoteIPHeader X-Forwarded-For