2015-07-28 64 views
0

我无法访问我的客户服务器(生产)上的特定文件类型。Apache,仅在特定文件类型和HTTP上重置连接

下面是结果与卷曲:

curl "http://domain.tld/fonts/glyphicons-halflings-regular.eot" -I 
HTTP/1.1 200 OK 
Date: Tue, 28 Jul 2015 12:06:23 GMT 
Server: Apache/2.2.15 (Red Hat) 
Last-Modified: Tue, 19 May 2015 15:32:20 GMT 
ETag: "14023-4f42-516710421e900" 
Accept-Ranges: bytes 
Content-Length: 20290 
Connection: close 
Content-Type: application/vnd.ms-fontobject 

的文件是在这里。 但是,当我试图让文件内容:

curl "http://domain.tld/fonts/glyphicons-halflings-regular.eot" 
curl: (56) Recv failure: Connection was reset 

我(还)没有访问客户的服务器,所以我试图猜测什么是错在这里。

什么是工作迄今:

curl "https://domain.tld/fonts/glyphicons-halflings-regular.eot" --insecure 

它在HTTPS工作,即使没有证书(这就是为什么我用--insecure)。我收到文件内容。

如果用户从本地URL访问文件,客户可以获取该文件。

我可以访问服务器上的所有其他文件,即使是在字体目录中。 我无法访问所有.eot文件,即使在其他目录中也是如此。

所以我认为这是2个问题之一: - Apache配置/ .htaccess问题。 - 代理/反向代理问题。

您对此有何看法? 我应该做什么样的其他测试? 我应该向客户询问什么信息?

谢谢。

回答

0

好的,这是原因: 客户防火墙阻止.eot文件内容。

A vulnerability in Embedded Web Fonts Could Allow Remote Code Execution. 

http://www.checkpoint.com/defense/advisories/public/2006/cpai-2006-010.html

由于.eot文件由IE8和更低的使用,并深受客户不需要这些版本的浏览器,我只是删除了所有引用.eot文件。

另一个解决方案是要求客户防火墙管理员添加一个异常,因为严重程度很低。