https://httpbin.org/ は HTTP クライアントや Reverse Proxy のテストなどで非常に便利なサイトです。Docker Image も公開されているのでローカルでも使えます。大変お世話になっております。
でもなぜか /headers などにアクセスしても X-Forwarded-For や X-Forwarded-Proto などが表示されません。
それを確認するために HTTP サーバーを書いたりもしていたのですが、show_env というパラメータを渡すことで確認できることを知ったのでメモ。
https://httpbin.org/get?show_env=1 や https://httpbin.org/headers?show_env=1
https://httpbin.org/legacy には例が載っていました。
❯ curl -s http://httpbin.org/headers\?show_env=1
{
"headers": {
"Accept": "*/*",
"Host": "httpbin.org",
"User-Agent": "curl/7.64.1",
"X-Amzn-Trace-Id": "Root=1-5f2ac9c1-43a9f7d5cf1b714ad7798979",
"X-Forwarded-For": "203.0.113.123",
"X-Forwarded-Port": "80",
"X-Forwarded-Proto": "http"
}
}
❯ curl -s http://httpbin.org/headers
{
"headers": {
"Accept": "*/*",
"Host": "httpbin.org",
"User-Agent": "curl/7.64.1",
"X-Amzn-Trace-Id": "Root=1-5f2ac9c5-d01ecd74ee650c947ce36d6c"
}
}
ちなみに 203.0.113.0/24 は例示用 IP アドレスらしいです。[RFC6890]