diff --git a/config/application.rb b/config/application.rb
index 7586fcb07..9a7e13f21 100755
--- a/config/application.rb
+++ b/config/application.rb
@@ -98,6 +98,8 @@ class Application < Rails::Application
config.active_job.queue_adapter = :good_job
+ config.exceptions_app = self.routes
+
# this works around a bug where the the webpacker proxy
# only waits 60 seconds for a compilation to happen. That's not
# fast enough on startup and Webpacker doesn't allow us to override.
diff --git a/config/routes.rb b/config/routes.rb
index 903da0a7e..fbc258d3c 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -290,6 +290,13 @@
get '/css/donate-button.css' => 'widget#v1_css'
get '/css/donate-button.v2.css' => 'widget#v2_css'
+ # Error Routes
+
+ get '/404', to: 'errors#not_found'
+ get '/422', to: 'errors#unprocessable'
+ get '/500', to: 'errors#internal_server'
+
+
scope ActiveStorage.routes_prefix do
get "/blobs/redirect/:signed_id/*filename" => "active_storage/blobs/redirect#show", as: :rails_service_blob
get "/blobs/proxy/:signed_id/*filename" => "active_storage/blobs/proxy#show", as: :rails_service_blob_proxy