Apache 为 SMB 挂载目录提供不完整的响应

Apache 为 SMB 挂载目录提供不完整的响应

我在带有 NAT 的虚拟机(debian lenny、up2date)中运行“Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch”,在处理来自 smb 挂载目录(即来自 vm 主机)的请求时,大约 60% 的 http 响应都是“不完整”的。

我的问题是,我看不到任何失败时响应的模式,因为它们有点旋转。但我能看到的是,一些请求(如 jquery ui)总是在同一位置被截断(javascript 控制台报告语法错误)。

这是不完整响应的示例标头:

Date    Fri, 04 Sep 2009 21:09:38 GMT
Server  Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch
Last-Modified   Sat, 20 Jun 2009 11:53:52 GMT
Etag    "1810-2f074-46cc64b731400"
Accept-Ranges   bytes
Content-Length  192628
Connection  close
Content-Type    application/javascript

启用 apache2 模块:

alias.conf            authz_user.load  dir.load          php5.load
alias.load            autoindex.conf   env.load          rewrite.load
auth_basic.load       autoindex.load   mime.conf         setenvif.conf
authn_file.load       cgi.load         mime.load         setenvif.load
authz_default.load    deflate.conf     negotiation.conf  status.conf
authz_groupfile.load  deflate.load     negotiation.load  status.load
authz_host.load       dir.conf         php5.conf

在我的特定项目中,只有 .js 和 .png 文件受到影响。“主请求”始终可以正常加载。

更新: apache2ctl -m输出:

Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 status_module (shared)
Syntax OK

答案1

我在从 SMB 或 CIFS 安装的共享提供文件时见过这种情况。尝试关闭发送文件支持使用:

EnableSendfile Off

您可以在主服务器配置、.htacces文件或 vhost/directory 块中执行此操作。

答案2

好吧,我将文件从已安装的 Windows SMB 共享切换到本地目录,现在一切正常。我没有时间进一步调查这个问题,但我认为问题与 Apache 本身无关。

相关内容