Apache,仅在特定文件类型和 HTTP 上重置连接
Apache, connection reset on specific filetype and HTTP only
我无法访问我的客户服务器(生产)上的特定文件类型。
这是 cURL 的结果:
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 文件,即使在其他目录中也是如此。
所以我认为这是这两个问题之一:
- Apache 配置/.htaccess 问题。
- 代理/反向代理问题。
你怎么看?
我应该做什么样的其他测试?
我应该向客户询问哪些信息?
谢谢。
好的,这是原因:
客户防火墙阻止 .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 文件的引用。
另一个解决方案是要求客户防火墙管理员添加一个例外,因为严重性很低。
我无法访问我的客户服务器(生产)上的特定文件类型。
这是 cURL 的结果:
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 文件,即使在其他目录中也是如此。
所以我认为这是这两个问题之一: - Apache 配置/.htaccess 问题。 - 代理/反向代理问题。
你怎么看? 我应该做什么样的其他测试? 我应该向客户询问哪些信息?
谢谢。
好的,这是原因: 客户防火墙阻止 .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 文件的引用。
另一个解决方案是要求客户防火墙管理员添加一个例外,因为严重性很低。