并且这个现象不是每次都出现,不过出现后该页基本能重现。
问题的症结:在代理设置时,代理APACHE服务器添加了NTLM登录管理设置,而被代理服务器只是通过CGI SESSION来实现登录管理,所以在代理转发的时候会出现HTTP报头被过滤不合格导致表单字段(对CGI来说,
就是标准输入STDIN的内容被舍弃。通过对代理SITE也在代理APACHE服务器加上也带NTLM验证设置的<proxy [url]http://proxied-server/proxied-site[/url]>即可解决。
后还是AUTHENTICATION REQUIRED。无意中发现,出错后随便改动工具->选项->高级 的任一项,即便选又不选,或不选又选,保存设置后,刷新页面就能出来了。后来发现打开IE浏览器直接改高级选项(未必真改动任何选项,只是触发保存而已),再访问REWRITERULE的跳转前页面也能正常访问。
通过HTTPWATCH截留请求和响应后,发现出错的原因是转发请求时总自动转为HTTP 1.0来发送。为什么会这样呢?
问题的症结:FIREFOX不会出现这个问题。说明是IE的问题。其他版本的系统不会出现这个问题,普通安装的XP SP2系统也不会有这个问题,说明是公司的管理模板作了特别的设置影响了IE选项中的HTTP 1.1设置有效性。可是公司的管理模板是官方的模板,如何知道是何处作了影响本问题的改动或策略
限制?通过搜索MICROSOFT知识库,终于找到问题还是有先例的哦(因为HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Interet_Settings\Security_HKLM_only设有1,被管理模板)。因为WININET的自定义模板,如果出现在管理模板中并被启用,则IE的HTTP 1.1对PROXY的启用会被忽略,强制改用HTTP 1.0来发送请求。Microsoft知识库文章见