Apache2

如果某個 IP 訪問它,如何在 Apache 中刪除 HTTP 標頭?

  • December 27, 2020

當我的網站被特定 IP 地址訪問時,如何取消設置單個/多個 HTTP 標頭?因為我的 CSP 配置阻止了一些本地頁面正確載入。例如,如果我有 phpMyAdmin,但由於設置了 CSP,我無法在本地使用它。

您可以使用以下配置根據 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 已啟用。有關更多詳細資訊,請查看https://httpd.apache.org/docs/2.4/mod/core.html#if>和<https://httpd.apache.org/docs/2.4/expr.html

您可以根據需要對其進行配置,但要小心,並確保您沒有為除您自己之外的所有人禁用 CSP 之類的標頭。

引用自:https://serverfault.com/questions/1047654