Articles of 上传

用nginx防止大file upload

我使用Nginx作为Web服务器来服务我的网站。 我提供上传function给我的用户(他们被允许提交图片高达5Mb),所以我有指令: client_max_body_size 5M; 在我的服务器configuration。 我注意到的是,如果我尝试上传任何文件,Web服务器不会阻止上传更大的文件。 举个例子,假设我试图上传一个700Mb的真正大的video(电影)。 服务器不会立即拒绝上传,但会缓冲整个数据(花费太长时间并减慢服务器速度),只有在上传结束时才会返回一个413 Request entity too large错误。 所以问题是:有没有办法正确configurationNginx阻止大file upload时,传输的数据开始克服我的client_max_body_size限制? 我认为用我的实际设置进行生产会非常不安全,而且我无法在Google上find任何有用的信息。 编辑: 我使用PHP和Symfony2作为后端… 编辑(再次): 这是我的error.log中显示的内容: 2013/01/28 11:14:11 [error] 11328#0: *37 client intended to send too large body: 725207449 bytes, client: 33.33.33.1, server: www.local.example.com, request: "POST /app_dev.php/api/image/add/byuploader HTTP/1.1", host: "local.example.com", referrer: "http://local.example.com/app_dev.php/"` 奇怪的是,我正在用tail -f error.log监视我的nginx error.log ,并且在上载开始时(在结束之前)立即出现消息。 所以nginx做了一些预防性的检查,但是不会停止/块化上传请求… 我也试图validation,如果PHP通过发出echo 'something'; die();得到上传的控制echo 'something'; […]

我们的networking开发者有一个需要接受file upload的项目。 我应该确保什么涵盖?

最近的一个项目需要我们的一个网站接受(login)用户的file upload(主要是图片和可能的video)。 什么是我们需要考虑的一些(通用)事物,检查,确保或计算,因为我们将此项目带入实际?

最佳实践:Apachefile upload

我正在寻找可靠的用户通过HTML表单(可能涉及PHP)上传PDF文件的灵魂。 这是一个相当标准的Ubuntu的Linux服务器与Apache 2.x和PHP 5。 我很喜欢apachefile upload模块的好处。 有一段时间没有更新,是否积极维护? 有没有这个模块的Apache 2传统的PHP上传有什么优势? http://commons.apache.org/fileupload 我记得传统的phpfile upload很难有一些陷阱,请问apachefile upload模块的情况会好转吗? 我正在寻找的解决scheme将成为现有网站的一部分,并被集成到pipe理Web前端。 我不考虑的是webdav,ssh,ftp,ftps,ftp over ssh。 应该使用浏览器,而无需安装特殊的客户端软件,所以我问的是基于浏览器的上传,没有特殊的客户端要求。 我可以请求一个现代的浏览器像firefox> = 3.5或现代的webkit broser像铬或safari从用户。

允许匿名上传Vsftpd?

我需要Linux上的基本FTP服务器(CentOS 5.5),没有任何安全措施,因为服务器和客户端位于testing局域网上,没有连接到networking的其余部分,而networking本身使用NAT防火墙后面的非路由IP没有传入访问FTP。 有些人推荐使用PureFTPd或ProFTPd的 Vsftpd 。 无论我尝试什么,我都无法让一个匿名用户(即以“ftp”或“匿名”身份login并input任何string作为密码)上传文件: # yum install vsftpd # mkdir /var/ftp/pub/upload # cat vsftpd.conf listen=YES anonymous_enable=YES local_enable=YES write_enable=YES xferlog_file=YES #anonymous users are restricted (chrooted) to anon_root #directory was created by root, hence owned by root.root anon_root=/var/ftp/pub/incoming anon_upload_enable=YES anon_mkdir_write_enable=YES #chroot_local_user=NO #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list chown_uploads=YES 当我从客户端login时,下面是我得到的: 500 OOPS:无法更改目录:/ var / ftp / pub / incoming 我也试过“#chmod […]

在BASH脚本中上传FTP

我需要将目录/ home / test的全部内容上传到我的ftp服务器,在特定的文件夹中。 然后,我将通过cron每小时安排脚本。 任何例子? NB。 考虑到我在一个Netgear的ReadyNAS Duo(一个debian盒),我不能安装lftp或相似的,只有标准的命令:)

每个位置块的Nginx的client_max_body_size(用php的frontcontroller模式)

我正在寻找这个问题的解决scheme。 我理解为什么在这个问题的设置不起作用的原因,但我试图find一个解决scheme,我可以得到它的工作。 这个想法是只允许在某些URL上进行大file upload。 我可以使用这个location块,但问题是:我有一个PHP的前端控制器模式: location ~ \.php { # … fastcgi_pass unix:/tmp/php5-fpm.sock; } 我的总configuration看起来像: # … http { # … client_max_body_size 512K; server { server_name example.com; root /var/www/example.com/public; location / { try_files $uri /index.php?$query_string; } location /admin/upload { client_max_body_size 256M; } location ~ \.php { # … fastcgi_pass unix:/tmp/php5-fpm.sock; } } } 据我所知,只有一个位置块将被应用。 所以如果我有512K的默认请求大小,256M永远不会被应用,因为所有的请求都通过前台控制器模式~ […]

如何为Tomcat webdav servlet设置默认的umask?

标题说明了一切。 我需要Tomcat的webdav servlet来创build具有rw-rw-r权限的文件,但是它一直以rw-r-r–的forms创build它。 我尝试在/ etc / profile中设置umask,但没有帮助(虽然手动创build的新文件具有所需的权限设置)。 根据/ etc / passwd,运行Tomcat的用户将/ etc / false作为shell,并且在其主目录中没有bashrc。 主机的操作系统是Debian。

如何在RedHat Enterprise 5上安装automake和autoconf?

我正在尝试为PHP应用程序安装“uploadprogress”,并且依赖关系失败。 首先,在phpize上,然后是php-devel,然后在autoconf和automake上。 我尝试了百胜,各种知识库,没有运气。 我认为这与Rackspace Cloud服务器上的超紧凑但令人讨厌的设置有关。 有谁知道我可以find一个存储库,我可以告诉百胜看,将包含php-devel,autoconf,automake等? 非常感谢。 发布细节:红帽企业Linux服务器版本5.3(Tikanga) Linux版本2.6.18-128.7.1.el5xen([email protected])(gcc版本4.1.2 20080704(Red Hat 4.1.2-44))#1 SMP Wed Aug 19 04 :17:26 EDT 2009 Linux Serv001 2.6.18-128.7.1.el5xen#1 SMP Wed Aug 19 04:17:26 EDT 2009 x86_64 x86_64 x86_64 GNU / Linux

用于大file upload的ColdFusion设置

我试图build立一个coldfusion服务器来接受大文件的上传,而我正在碰到一些限制。 这是我迄今观察到的: ColdFusionpipe理员有两个限制上传大小的设置:“最大数据量”和“请求节stream存储器”。 如果上传的大小(包括HTTP开销)大于其中任何一个设置,上传将被拒绝。 我无法弄清楚为什么我们需要其中的2个; 据我所知,无论哪一个设置较高,都没有任何影响。 较低的一个胜利。 当有人试图上传一个太大的文件时,他们不会收到一个很好的错误信息。 发送大约1个TCP窗口的数据后,上传只是永远挂起。 它挂在一个非常糟糕的方式。 即使在客户端放弃并断开连接之后,相关的apache线程仍然是绑定的(我可以使用mod_status来看到这一点)。 卡住的线程只是保持build立,直到没有剩下的新请求和服务器必须重新启动。 “请求节stream”是我真的不明白的事情。 所有关于它的文档都将其称为内存区域的大小。 如果是这样的话,我看不出它与文件大小有什么关系。 它暗示了一些我不想相信的东西:在将任何文件写入磁盘之前,ColdFusion将整个上传的文件分散到内存中。 没有理智的人会这样做,当上传循环(读取中等大小的块,将其写入磁盘,重复直到完成)非常简单。 (我知道HTTP multipart / form-data这个post的结构有点难,但是……像Adobe这样的一家大公司可以做到这一点…不是吗?) 如果整个文件混淆实际上是怎么回事,他们如何期望我们select一个可行的大小限制? 允许一个千兆字节和几个同时用户可以运行你的服务器内存不用,甚至没有尝试。 我们要做什么,不允许千兆字节​​上传? 人们有video发布,没有时间编辑它们! 附加信息 这里是一些版本号。 networking服务器: Server: Apache/2.2.24 (Win64) mod_jk/1.2.32 ColdFusion的: Server Product ColdFusion Version ColdFusion 10,285437 Tomcat Version 7.0.23.0 Edition Enterprise Operating System Windows Server 2008 R2 OS Version 6.1 Update Level […]

有没有什么好的理由不增加upload_max_filesize和post_max_size?

作为LAMP框的系统pipe理员,我被要求将PHP / html表单的上传容量提高到70 MB左右。 我相信服务器可以处理它,因为它有两个四核和4个内存。 我也没有任何昂贵的带宽限制。 所以,由于标准php.ini中的限制通常是2MB,我想知道在更改upload_max_filesize和post_max_size之前是否还有其他问题需要考虑,或者我可以安全地使用它吗? 感谢任何提示!