Ruby on rails heroku rails应用程序移动浏览器文件上载超时

Ruby on rails heroku rails应用程序移动浏览器文件上载超时,ruby-on-rails,heroku,amazon-s3,carrierwave,sidekiq,Ruby On Rails,Heroku,Amazon S3,Carrierwave,Sidekiq,我在我的heroku rails应用程序中遇到了一个奇怪的行为,我已经奋斗了两天,但仍然无法理解问题是什么 我有一个heroku rails应用程序,具有允许用户上传照片的功能 从桌面浏览器上载照片时,照片上载功能工作正常 但是,从我的iphone 5 safari浏览器上载时,上载功能不起作用。当我尝试从手机浏览器上传时,大约50秒后客户端将显示应用程序错误页面,heroku服务器日志将显示以下行: 2014-09-28T20:20:11.125791+00:00 heroku[router]

我在我的heroku rails应用程序中遇到了一个奇怪的行为,我已经奋斗了两天,但仍然无法理解问题是什么

我有一个heroku rails应用程序,具有允许用户上传照片的功能

从桌面浏览器上载照片时,照片上载功能工作正常

但是,从我的iphone 5 safari浏览器上载时,上载功能不起作用。当我尝试从手机浏览器上传时,大约50秒后客户端将显示应用程序错误页面,heroku服务器日志将显示以下行:

2014-09-28T20:20:11.125791+00:00 heroku[router]: at=error code=H15 desc="Idle connection" method=POST path="/kitchens/1/photos" host=myapp.herokuapp.com request_id=2844a843-fff7-4c7e-aea3-fd6d393339ae fwd="24.23.199.22" dyno=web.1 connect=1ms service=55000ms status=503 bytes=0
我在wifi连接上用一个46KB.jpg的小文件进行了测试。同一个文件,在同一个wifi连接上从桌面chrome浏览器上传,效果很好。46KB是一个非常小的文件,所以我相信这不是文件大小的问题

在heroku上,我有两个dyno,一个web dyno处理正常请求,一个worker dyno处理背景中的照片

我将所有照片文件存储在AmazonS3上

我正在使用以下工具和gems进行照片处理和上传:

AmazonS3用于存储 加工用载体波 带载波波的极小值 carrierwave_后台人员将处理作业从web服务器移交给后台工作人员 背景工作人员的sidekiq redis将选择sidekiq

我感到困惑的是,为什么同样的请求,同样的文件从桌面浏览器发送工作,而从移动浏览器发送失败。我的理解是,无论是从桌面还是移动浏览器发送,HTTP请求都应该是相同的

这和浏览器有关吗?上传功能在桌面chrome和safari上运行良好,但在我的iphone 5 safari上失败

我真的非常感谢在这个问题上的任何帮助

提前感谢。

可能是DNS问题。 我尝试了同样的过程,在chrome+iPhone6上一切正常,但在safari+iPhone6上H15失败。 这两种情况都在计算机操作系统maverick上运行良好

这里有一个类似的问题,一个对他有效的尝试。

我的dns设置正确,我想这并没有解决我的问题,但也许你会更幸运

编辑:iOS8错误

您可以安装iOS 8.0.2来解决问题,或/或将服务器的IP分配为表单操作以确保响应。

更新

这显然是iOS 8.0上Safari的一个bug

我已经和Mitmproxy调试过了,并写了一篇关于

谢谢!我忘了在这里更新,这确实是8.0版Safari的一个bug,已经修复了!