Apache 完全刪除 X-Forwarded-For

Apache 完全刪除 X-Forwarded-For

好吧..這很奇怪,但我需要取代 X-forwarded-for 值。

我們正在使用 SAP B1,由於某種原因,它需要 x-forwarded-for 僅包含一個字串"https://sap.domain.tld:443"和該值。沒有其他主機,也沒有逗號。正是如此。

現在,我正在使用各種代理程式和 cloudflare,因此在 X-forwarded-for 中新增了一些值,我必須刪除這些值才能存取 SAP B1 Web Access。我需要刪除所有這些值。

以下是我在 apache 中的設定:

    SSLEngine On
    SSLCertificateFile      /etc/ssl/crt/sap.crt
    SSLCertificateKeyFile /etc/ssl/private/4096.key
    SSLCACertificateFile    /etc/ssl/ca/ca.crt

    SSLProxyEngine On
    SSLProxyCheckPeerCN off
    SSLProxyVerify none
    SSLProxyCheckPeerName off
    SSLProtocol -all +TLSv1.2 +TLSv1.1 +TLSv1
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA$

    ProxyPreserveHost On
    ProxyVia full
    ProxyPass / https://10.1.1.1:8100/
    ProxyPassReverse / https://10.1.1.1:8100/
    ProxyAddHeaders off
    RequestHeader unset X-forwarded-for
    RequestHeader set X-Forwarded-For "https://sap.domain.tld:443"

我已經添加了ProxyAddHeaders off,但 apache 仍然添加了新的 X-Forwarded-For。我怎麼才能將它們全部刪除?

答案1

我最近遇到了類似的問題。對我來說,事實證明這ProxyAddHeaders off在上下文中不起作用<VirtualHost>(儘管有文檔)。將指令放入上下文後,<Location>Apache 停止X-Forwarded-*如預期新增標頭。

你的可能看起來如下...

<Location />
    ...
    ProxyPass https://10.1.1.1:8100/
    ProxyPassReverse https://10.1.1.1:8100/
    ProxyAddHeaders off
    RequestHeader unset X-forwarded-for
    RequestHeader set X-Forwarded-For "https://sap.domain.tld:443"
</Location>

相關內容