我正在使用paperclip处理ruby on rails项目上的内容,当我将它部署到生产服务器时,我发现我无法上传大文件(甚至只有3MB),我将重定向到“此网页不可用”(chrome),我可以上传1.5MB文件。我不知道造成这种情况的原因。 我无法在具有生产模式的localhost上重现它,我们没有使用paperclip进行任何验证,这里是附件模型:
class Attachment < ActiveRecord::Base
belongs_to :attachable, polymorphic: true
has_attached_file :attachment
do_not_validate_attachment_file_type :attachment
end
我们正在使用Apache&amp;服务器上的乘客,我们的配置中没有LimitRequestBody
之类的内容。不确定还会引起什么。
从乘客日志中发现以下错误:
Unexpected error in mod_passenger: An error occurred while receiving HTTP upload data: Unknown error 18446744073709551514 (-102)
Backtrace:
in 'boost::shared_ptr<Passenger::BufferedUpload> Hooks::receiveRequestBody(request_rec*)' (Hooks.cpp:1155)
in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:532)
一些相关的讨论:https://code.google.com/p/phusion-passenger/issues/detail?id=288,他们建议延长超时时间,但我认为这不是一个好主意。
最后使用thin
代替passenger
进行修复。
答案 0 :(得分:0)
有时,apache
或nginx
等网络服务器会限制上传文件的大小。根据您是在独立模式下使用Passenger还是作为服务器模块,请查找您的Web服务器配置并增加其限制。