Staging

開発BLOG

開発環境でFakeなIPを使う

開発環境において、特定のIPからアクセスして動作確認等したい時があるかもしれません。

そんな時用にメモ

まずはRack Middlewareを実装します。

lib/fake_ip.rb

class FakeIp
  def initialize(app, ip)
    @app = app
    @ip = ip
  end

  def call(env)
    env['HTTP_X_FORWARDED_FOR'] = nil
    env['REMOTE_ADDR'] = env['action_dispatch.remote_ip'] = @ip
    @status, @headers, @response = @app.call(env)
    [@status, @headers, @response]
  end
end

引数に好きなIPを渡します。

config/environments/development.rb

config.middleware.use('FakeIp', 'IP') 

以上。