HTTP.sys barfs
我一直在网页上测试带有嵌入式Flash组件的PS3浏览器(NF),并且似乎存在一个相当严重的错误,即发出任何来自Flash的请求。 浏览器正在添加引用链接(引用者),Flash播放器也会添加重复的标头。 实际上,如果引用标头相同,但它们不相同,并且结果请求在W2k8上由http.sys停止。 这对我来说是一个主要问题,因为我有一个Flash组件需要调用Web服务才能正常工作。
是否有某种方式可以过滤或允许这些请求通过,可能会沿途删除重复的标头。
我们已经想到了一些解决方案,但是对于我们的开发和生活环境来说,这些解决方案不是最理想的,
作为参考,以下请求将重现问题(复制并粘贴到Fiddler或其他工具中,我假设您正在运行IIS7,W2K8)。 你应该得到一个400 Bad Request
响应。
GET / HTTP/1.1 Host: localhost Referer: http://localhost/NetFrontBrowser/ Referer: http://localhost/Flash/
非常感谢
来自Windows DDK的stmedit“演示了如何使用Windows过滤平台(WFP)替换传输控制协议(TCP)连接的字符串模式”。
一点额外的hackery将它变成一个FSM,它可以转储除第一个引用链之外的所有链。
如果我对这些1-4进行编号,我会说2对您的实况环境最有意义,而3可能是您的开发环境无法与您的实况环境相匹配时需要做的事情。 因为负载平衡器基本上是一个反向代理,所以第1号和第2号非常相似。 正如你所指出的,如果你没有等待索尼更新他们使用的浏览器和插件,那么第4号似乎是不可能的,这似乎不大可能,因为他们可能已经把它放在了第一位,对它的控制很差(有点像固件在我制作的韩国制造的电视机上制作的是Palo Alto,由于无法良好沟通,花了10个月的时间才符合GPL标准)。
Apache有模块mod_headers。 这可以解决你的问题,但是如果你必须使用http.sys,那么我会试着找到一些等同于mod_headers的东西。 也许有人已经将mod_headers移植到http.sys?
另外我会评估URL重写。 我知道这是关于标题而不是URL,但也许http.sys的URL重写模块(如果存在的话)知道标题。
我认为http.sys的mod_headers或mod_rewrite等价物可以在http.sys barfs之前处理请求。
祝你好运!
链接地址: http://www.djcxy.com/p/43585.html上一篇: HTTP.sys barfs