最近我们的一个 ubuntu 10.04 服务器停止提供 flash 文件。它曾经工作到几天前,然后据报道最近出现了一些问题,经过调查,它没有提供 .swf 文件的 apache 对我来说没有(明显的)原因。
我在日志中看到的内容:
IP.NU.MB.ER - - [07/Nov/2012:06:05:13 +0100] "GET /path/to/ZeroClipboard.swf HTTP/1.1" 200 1385 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11"
IP.NU.MB.ER - - [07/Nov/2012:06:05:19 +0100] "-" 408 0 "-" "-"
其他文件像往常一样是服务器(实际上网站正在工作,除了闪存)。
似乎可以识别文件 mime_type,实际上即使更改文件扩展名也没有发生任何事情。我玩过一些 mime 类型的 /etc/apache2/magic 文件,但我可以找到对 flash 的引用:
# flash: file(1) magic for Macromedia Flash file format
#
0 string FWS
>3 byte x application/x-shockwave-flash
另外,后来在同一个文件中我发现:
# From: Denis Knauf, via gentoo.
0 string fLaC audio/x-flac
0 string CWS application/x-shockwave-flash
我读过 mod_deflate 可能会在某些文件类型上产生问题,但它似乎配置正确,我已经从文件列表中排除了 swf 文件以放气,甚至完全禁用了模块,仍然没有运气。
这是 apache 模块的列表:
$'ls' /etc/apache2/mods-enabled
alias.conf autoindex.conf fastcgi.conf proxy.conf
alias.load autoindex.load fastcgi.load proxy_http.load
auth_basic.load cgi.load mime.conf proxy.load
authn_file.load deflate.conf mime.load reqtimeout.conf
authz_default.load deflate.load negotiation.conf reqtimeout.load
authz_groupfile.load dir.conf negotiation.load rewrite.load
authz_host.load dir.load php5.conf setenvif.conf
authz_user.load env.load php5.load setenvif.load
另外,当我尝试通过 wget 访问服务器时,它只是在一段时间后超时
$ wget http://server/test/ZeroClipboard.swf.jpg
--2012-11-07 09:29:11-- http://server/test/ZeroClipboard.swf.jpg
Risoluzione di server (server)... IP.NU.MB.ER
Connessione a server (server)|IP.NU.MB.ER|:80... connesso.
Richiesta HTTP inviata, in attesa di risposta... Errore di lettura nelle intestazioni (Connessione scaduta).
Altro tentativo in corso.
--2012-11-07 09:44:12-- (tentativo: 2) http://server/test/ZeroClipboard.swf.jpg
Connessione a server (www.ctl.sns.it)|IP.NU.MB.ER|:80... connesso.
Richiesta HTTP inviata, in attesa di risposta...
这是意大利语:
Errore di lettura nelle intestazioni (Connessione scaduta) 是:在标头中读取错误 (%s)。
其中 (%s) 是“连接超时”
希望这些信息足够...