- 论坛徽章:
- 0
|
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server
刷新两次之后,又可以正常浏览,再刷新又故障! 无耐之下,四处求教,加了两个FreeBSD群,竟然在里面遇到熟人.可惜这个群人气旺,就是欠缺解答问题气氛,整天在吹!BS 另一个FB群很热情,虽然对我的帮助不大,但人家都有问必答,呵,人气比前一个差一点.
无奈,求人不如求已! 自己仔细想想,既然错误,日志中应该有提示的.马上显示日志
# more /var/log/httpd-error.log
有很多这样的错误 proxy: error reading status line from remote server
马上GG一搜索,哈有了! 在英文网站,理解到是Apache 和Proxy_mod的BUG ,但某人30小时内没出现问题
全文如下
------- Additional Comments From [EMAIL PROTECTED] 2006-07-05 16:05 -------
With the following 'Murxaround' it's working now:
- Added 'keeplive Off' in httpd.conf -> No effect
- Set keep-alive timeout to 1 day in IIS -> No effect
- Added
'SetEnv force-proxy-request-1.0 1'
'SetEnv proxy-nokeepalive 1'
in httpd.conf
It's working now without errors since 30 hours...
Don't know if first steps were necessary, I let them in place
如了.修改 httpd.conf
<VirtualHost *:80>
ServerAdmin asion@mail.com
ServerName www.domain.com
ProxyPass / http://192.168.0.92
ProxyPassReverse / http://192.168.0.92
SetEnv force-proxy-request-1.0.1
SetEnv proxy-nokeepalive 1
</virtualHost>
然后重启Apache, 刷新了N次,正常!!
后话: 转贴APACHE官方中文说明,关于协议调整
当mod_proxy向一个没有正确实现持久连接(KeepAlive)或HTTP/1.1的原始服务器发送请求的时候,可以通过设置两个环境变量来发送不带持久连接(KeepAlive)的HTTP/1.0请求。这两个变量是通过SetEnv指令设置的。
以下是force-proxy-request-1.0和proxy-nokeepalive的例子:
<Location /buggyappserver/>
ProxyPass http://buggyappserver:7001/foo/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location> |
|