Rack アプリで、クライアントのIPアドレスを取得する方法を調べてみたのでメモ。 どうやら Rack::Request#ip を使えばいいらしいので Rack アプリはこんな感じで。 [config.ru] class HogeApp def call(env) req = Rack::Request.new(env) [200, {}, [ "req.ip=#{req.ip}\n", "REMOTE_ADDR=#{env["REMOTE_ADDR"]}\n", "HTTP_X_FORWARDED_FOR=#{env["HTTP_X_FORWARDED_FOR"]}\n", ]] end end run HogeApp.new 普通に接続 これを 192.0.2.11 サーバーで次のようにして起動して、 rackup -o 0.0.0.0 192.0.2.1 のクライアントからアクセスし