Railsで自分のサーバ名を知ろうとしてrequest.host_with_portを使おうとして、多段reverse proxy下だったのでめんどうなことになった。 Rails(Rack)だと def host_with_port if forwarded = @env["HTTP_X_FORWARDED_HOST"] forwarded.split(/,\s?/).last else @env['HTTP_HOST'] || "#{@env['SERVER_NAME'] || @env['SERVER_ADDR']}:#{@env['SERVER_PORT']}" end end となっていてX-Forwarded-Hostヘッダがあればこれの最後の値を利用しようとしている。X-Forwarded-Hostはproxyが受け取ったHostヘッダを本当の宛先に送るヘッダ(非標準)。以下の