
좋아.. 좀 이상하지만 X-forwarded-for 값을 바꿔야 합니다.
우리는 SAP B1을 사용하고 있으며 여러 가지 이유로 x-forwarded-for에는 하나의 문자열 "https://sap.domain.tld:443"
과 해당 값만 포함되어 있어야 합니다. 다른 호스트도 없고 쉼표도 없습니다. 정확히 그렇습니다.
이제 다양한 프록시와 cloudflare를 사용하고 있으므로 SAP B1 Web Access에 액세스하기 위해 제거해야 하는 X-forwarded-for에 일부 값을 추가하고 있습니다. 해당 값을 모두 제거해야 합니다.
다음은 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>