FWI,感谢下面的Vadym的评论,我发现我忽略了在我的Plesk服务器上启用mod_proxy_http。 加载这个模块(和mod_proxy一起)修正了原来的错误。
我正在尝试在vhost.conf中configuration反向代理规则。 我在Ubuntu-8.04上安装了Apache-2.2.8,由Plesk-10.4.4监控。
我想要实现的是定义一个反向代理规则,将所有stream量都推迟到-say- http:// mydomain / tomcat /到端口8080上运行的Tomcat服务器。我在Apache中加载了mod_rewrite和mod_proxy。 据我了解mod_proxy文档,在/var/www/vhosts/mydomain/conf/vhost.conf中input以下规则应该工作:
<Proxy *> Order deny,allow Allow from all </Proxy> ProxyRequests off RewriteRule ^/tomcat/(.*)$ http://mydomain:8080/$1 [P]
然而,当请求上面的URL时,我得到一个HTTP 500:内部服务器错误。 (注:我决定使用重写规则,以便至less获得一些logging的信息。)
我做了mod_rewrite日志广泛,并find日志中的以下条目[注:由于最大限制。 2个新用户的post中的URL,我已经修改了所有下面的URL,以便它们在http:后面只包含1个斜线。 如果你怀疑错别字:这是故意的):
(2)init请求的uri / tomcat / testApp / init的重写引擎,
81.241.230.23 – – [19 / Mar / 2012:16:42:59 +0100] [mydomain / sid#b06ab8] [rid#1024af8 / initial](3)应用模式'^ / tomcat /(.*)$'到uri'/ tomcat / testApp /'
81.241.230.23 – [19 / Mar / 2012:16:42:59 +0100] [mydomain / sid#b06ab8] [rid#1024af8 / initial](2)rewrite'/tomcat/testApp/' – >'http: / MYDOMAIN:8080 / testApp /”
81.241.230.23 – – [19 / Mar / 2012:16:42:59 +0100] [mydomain / sid#b06ab8] [rid#1024af8 / initial](2)用http:/ mydomain强制代理吞吐量:8080 / testApp /
81.241.230.23 – – [19 / Mar / 2012:16:42:59 +0100] [mydomain / sid#b06ab8] [rid#1024af8 / initial](1)使用代理请求代理:http:/ mydomain: 8080 / testApp / [确定]
这表明重写和代理部分处理正常; 仍然代理请求产生500错误。 然而:
还有其他的东西(Plesk相关的,也许?)我应该configuration?
非常感谢任何指针!
罗恩
ErrorLog中是否有任何线索?
你有没有尝试过没有mod_rewrite(只是mod_proxy)这样的事情:
<Location /tomcat> ProxyPass http://mydomain:8080/ ProxyPassReverse http://mydomain:8080/ </Location>