我有一个非常奇怪的问题。我有一个IIS6后端服务器。 如果IIS上的站点配置为.net 2.0 / 3 / 3.5,那么apache做得很好。 如果站点配置为.net 4.0,则apache会提供400个错误请求。 我已经附加了http标头,我可以看到正确的apache和正确的iis服务器被点击,以及iis服务器上的正确站点。 如果我直接进入服务器,它在两种模式下都能很好用。 它只是连接到运行.net 4.0站点的IIS6(http)的apache(https)的组合。
这是一些数据包样本
请求失败
GET http://www.domain.com/ HTTP/1.1
Host: www.domain.com
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.127 Safari/534.16
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Via: 1.1 domain.com
X-Forwarded-For: [ipaddress]
X-Forwarded-Host: www.domain.com
X-Forwarded-Server: domain.com
Connection: Keep-Alive
错误回复
HTTP/1.1 400 Bad Request
Connection: close
Date: Fri, 11 Mar 2011 02:24:34 GMT
Content-Type: text/html; charset=utf-8
工作申请
GET / HTTP/1.1
Host: www.domain.com
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.127 Safari/534.16
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Connection: Keep-Alive
工作回应
HTTP/1.1 302 Found
Date: Fri, 11 Mar 2011 02:29:12 GMT
Location: /Account/Login/?ReturnUrl=%2f
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 146
这两个请求是针对同一个站点的,一个是直接代理。我能看到的唯一有意义的就是每次获得的价值。一个是路径,另一个是域和路径。但正如我所提到的,我只需要在IIS6中切换网站以使用2.0运行时而不是4.0运行时。
Anyne对可能出现的问题有任何想法?
答案 0 :(得分:0)
这个问题的答案是在apache中配置虚拟主机时出错 我不得不注释掉我在那里的ProxyRemote指令。