2

这里有一个奇怪的:

我已经使用 mod_php 向 apache 2 发送了 nginx 反向代理请求。

一位用户(使用 firefox 3.1b3)报告说,最近他开始偶尔出现“firefox 应该如何处理这个文件?” 正常导航期间的弹出窗口。我们还没有关于这个问题的任何其他报告,也无法自己重现它。

我检查了 Nginx 和 apache 的日志。错误日志中没有任何内容,它们都显示请求的正常 HTTP 200。

我让他把下载的文件发给我,它生成了 HTML,它应该是——除了它有一些尾随和前导字节。

开头的字节序列是神奇的 gzip 头:1F8B08

以下是开头字符,为方便起见,使用 C 转义:

\x1F\x8B\x089608\r\n<!DOCTYPE HTML ...

文件以:

...</html>\n\r\n0\r\n\r\n

当我通过 wget 获取相同的 URL 时,它按预期开始;神秘的开始和结束字节无处可寻。

有没有人见过类似的东西?这可能是 FF 3.1b3 的错误吗?

4

2 回答 2

1

从来没有见过这样的问题,但是我确实遇到过一个透明代理的问题,该代理会声称它可以处理 gzip 压缩内容,而实际上它从服务器接收到 gzip 压缩的内容,剥离 gzip头文件,无需解压,并将结果发送到浏览器。我们看到的行为就是您所描述的:本应是普通网页的保存/打开文件对话框。在这种情况下,有问题的浏览器是 IE。

我不确定你的问题是否相关,但作为一个实验,你可以查看代理和 Apache 之间的请求,看看它们是否被 gzip 压缩,或者关闭 Apache 中请求的 gzip 压缩,看看是否解决了这个问题。如果是这样,那么您的代理中的 gzip 处理可能存在问题。

于 2009-04-10T15:08:56.500 回答
1

wget 不请求压缩响应。尝试:

curl --compressed <URL>

您还可以尝试添加 a-v以打印响应标头,并检查Content-Type是否返回了 sensible。

于 2009-05-04T11:50:04.747 回答