Apacheでリバースプロキシ

Apacheでリバースプロキシするときこんな感じに書いた方が良いよという話

<VirtualHost *:443>
    ServerName example.net
    <Proxy *>
        Require all granted
    </Proxy>
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://192.168.0.1:8080/ keepalive=On
    ProxyPassReverse / http://192.168.0.1:8080/
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader unset X-Forwarded-For
    RequestHeader unset X-Forwarded-Server
    RequestHeader unset X-Forwarded-Host
    Include /path/to/common.conf
</VirtualHost>

X-Forwarded-Forとかを一旦unsetしないと、
X-Forwarded-Forとかをクライアント側から指定されると、追加されて判別が困難になる

curl -H "X-Forwarded-For: 1.2.3.4"

みたいな感じで指定されると

 x-forwarded-for: "1.2.3.4, 192.168.0.100"

こんな感じに追加されて http://192.168.0.1:8080 側にわたってしまう