
Ok, das ist ziemlich seltsam, aber ich muss den X-Forwarded-For-Wert ersetzen.
Wir verwenden SAP B1 und aus verschiedenen Gründen muss x-forwarded-for nur eine Zeichenfolge "https://sap.domain.tld:443"
und nur diesen Wert enthalten. Keine anderen Hosts und kein Komma. Genau so.
Jetzt verwende ich verschiedene Proxys und Cloudflare und füge daher einige Werte in X-forwarded-for hinzu, die ich entfernen muss, um auf SAP B1 Web Access zuzugreifen. Ich muss alle diese Werte entfernen.
Unten ist meine Konfiguration in 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"
Ich habe sie hinzugefügt ProxyAddHeaders off
, aber Apache fügt immer noch neue X-Forwarded-For hinzu. Wie kann ich sie alle entfernen?
Antwort1
Ich bin vor kurzem auf ein ähnliches Problem gestoßen. Bei mir stellte sich heraus, dass es ProxyAddHeaders off
im Kontext nicht funktionierte <VirtualHost>
(trotz der Dokumentation). Nachdem ich die Direktive in einen Kontext gesetzt hatte, <Location>
hörte Apache auf, X-Forwarded-*
wie erwartet Header hinzuzufügen.
Ihr Beispiel könnte wie folgt aussehen ...
<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>