Ruby on rails heroku rails应用程序移动浏览器文件上载超时
我在我的heroku rails应用程序中遇到了一个奇怪的行为,我已经奋斗了两天,但仍然无法理解问题是什么 我有一个heroku rails应用程序,具有允许用户上传照片的功能 从桌面浏览器上载照片时,照片上载功能工作正常 但是,从我的iphone 5 safari浏览器上载时,上载功能不起作用。当我尝试从手机浏览器上传时,大约50秒后客户端将显示应用程序错误页面,heroku服务器日志将显示以下行: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]
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,已经修复了!