Red Hat Enterprise Linux 5.6 Server 发布了,通过国外的vps下了下来,但是打算用浏览器下载回来,却报403错误。 Forbidden

You don't have permission to access /rhel-server-5.6-i386-dvd.iso on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

查看apache的error_log,发现显示

[error] [client 218.240.145.56] (75)Value too large for defined data type: access to /rhel-server-5.6-i386-dvd.iso failed

所以查看了apache的官网,首页Apache HTTP Server 2.2.17 Released

摘要中提到了 Large File Support,查询2.2版本最新特性,发现以下内容:

 

Large File Support

 

httpd is now built with support for files larger than 2GB on modern 32-bit Unix systems. Support for handling >2GB request bodies has also been added.

      httpd现在已经被构建为在现代的32位Unix系统上支持大于2GB的文件。而且也可以处理大于2G的请求体(request body)

通过查看自己的apache版本号 Server version: Apache/2.0.63

看来是自己的apache不支持大于2G的文件,在google上面查到一种方法就是在apache编译前,先export CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",然后编译,使用64位进行编译,但是当时没有时间重新编译,或者是编译apache2.2 以上的版本。突然想起Python 的SimpleHTTPServer 模块,使用Python可以很快搭建一个HTTP服务器。

cd 到你要下载文件的目录

$ python -m SimpleHTTPServer

这 命 令 启 动 了 Python 的SimpleHTTPServer 模块,考虑到 Python 在
绝大多数的 Linux 发行版当中都默认安装,所以这个命令很可能是最简单的跨平台传文件的方法。命令执行后将在本机 8000 端口开放 HTTP服务,在其他能访问本机的机器的浏览器打开http://ip:8000 即打开一个目录列表,点击即可下载。当然这个端口8000是 SimpleHTTPServer 默认的端口,你也可以自定义,$ python -m SimpleHTTPServer 8080 这样你就可也通过http://ip:80080,来下载你的文件了