我配置了一个基本的虚拟主机,只是为了能够列出服务器上的特定目录。对于本地文件,它工作正常,但根目录中列出的文件夹之一是指向 DocumentRoot 之外的文件夹的符号链接。符号链接内的目录列表也运行正常,但如果我尝试下载文件或查看图像,就会出现问题。客户端(浏览器、curl 等)看不到响应标头,因为它格式不正确。以下是一个例子:
11:57:54 GMT
ETag: "352c59-5ce9f41529407"
Accept-Ranges: bytes
Content-Length: 3484761
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: image/jpeg
因此,这个格式错误的标头被添加到文件前面,从而破坏了数据。关于如何让 apache 发送正确的标头,您有什么想法吗?
编辑:我尝试使用官方 httpd Docker 映像,用容器中的 docker 卷替换符号链接,结果得到了完全相同的效果。
答案1
答案和解释在这里:apache2 使用 cifs-share 时发送损坏的响应
总结
添加EnableMMAP off
到您的apache2.conf文件