重定向到错误页而没有解释



我有一个rails应用程序,用户可以上传文件(使用paperclip)。当上传大文件时,用户被重定向到一个500错误页面,这只发生在远程;如预期的那样,用户在本地被重定向到新模型的视图。此外,尽管出现了错误页面重定向,模型及其关联文件还是成功地上传和创建了。

因为它只发生在大文件上,我怀疑这是由于请求超时,但我使用的puma不强制这样的超时。

这是应用程序日志,puma日志没有显示任何异常。

D, DEBUG -- :   SQL (0.4ms)  INSERT INTO "posts" [...]
D, DEBUG -- :    (0.9ms)  COMMIT
D, DEBUG -- :    (0.1ms)  BEGIN
D, DEBUG -- :    (0.1ms)  COMMIT
I, INFO -- : Started GET "/500.html" for [...]
F, FATAL -- :
ActionController::RoutingError (No route matches [GET] "/500.html"):
  actionpack (4.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.6) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.6) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.6) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.6) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.6) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.6) lib/rails/engine.rb:518:in `call'
  railties (4.2.6) lib/rails/application.rb:165:in `call'
  puma (3.6.0) lib/puma/configuration.rb:225:in `call'
  puma (3.6.0) lib/puma/server.rb:578:in `handle_request'
  puma (3.6.0) lib/puma/server.rb:415:in `process_client'
  puma (3.6.0) lib/puma/server.rb:275:in `block in run'
  puma (3.6.0) lib/puma/thread_pool.rb:116:in `block in spawn_thread'

我在nginx日志中找到了答案:这确实是一个超时。在nginx.conf中增加proxy_read_timeout解决了这个问题(默认为60)。

最新更新