diff --git a/config/initializers/trusted_proxies.rb b/config/initializers/trusted_proxies.rb
index aa2f4510c2..33bfddbdf1 100644
--- a/config/initializers/trusted_proxies.rb
+++ b/config/initializers/trusted_proxies.rb
@@ -1,13 +1,8 @@
 # frozen_string_literal: true
 
-module Rack
-  class Request
-    def trusted_proxy?(ip)
-      if Rails.application.config.action_dispatch.trusted_proxies.nil?
-        super
-      else
-        Rails.application.config.action_dispatch.trusted_proxies.any? { |proxy| proxy === ip }
-      end
-    end
-  end
+unless Rails.application.config.action_dispatch.trusted_proxies.nil?
+  # Rack is configured with a default collection of trusted proxies
+  # If Rails has been configured to use a specific list, configure
+  # Rack to use this Proc, which enforces the Rails-configured list.
+  Rack::Request.ip_filter = ->(ip) { Rails.application.config.action_dispatch.trusted_proxies.include?(ip) }
 end