Назад | Перейти на главную страницу

Apache полностью удаляет X-Forwarded-For

Хорошо .. это довольно странно, но мне нужно заменить значение X-forwarded-for.

Мы используем SAP B1, и по какой-то причине ему нужно, чтобы x-forwarded-for содержал только одну строку "https://sap.domain.tld:443" и только это значение. Ни других хостов, ни запятой. Именно так.

Теперь я использую различные прокси-серверы и облачную вспышку, таким образом добавляя некоторые значения в X-forwarded - для этого мне нужно удалить, чтобы получить доступ к 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. Как их все удалить?

Недавно я столкнулся с подобной проблемой. Для меня оказалось, что 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>