如何为apache2,jettyconfigurationmod_proxy

这是我如何设置我的环境,atm。 端口80上的apache2实例。同一台服务器上的端口8090上的Jetty实例。

用例:

以下是我的各种configuration文件:

/etc/apache2/mods-enabled/proxy.conf:

ProxyPass / http://foo.com:8090/ << this is the jetty server ProxyPass /blog http://foo.com/blog ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On ProxyStatus On 

/etc/apache2/httpd.conf:

 LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so 

我还没有创build任何其他文件,在网站,可用或网站启用。

现在的情况:

  • 如果我goto foo.com,我看到的Web应用程序。
  • 如果我goto foo.com/blog,我看到一个

HTTP错误404

访问/errors/404.html的问题。 原因:

NOT_FOUND由jetty提供支持://

  • 如果我注释掉第一个ProxyPass行,那么在foo.com上,我只能看到没有应用CSS的主页,即只有文本。
  • ..去foo.com/blog给我一个这个错误:

代理服务器收到来自上游服务器的无效响应。

代理服务器无法处理请求GET /博客。

原因:从远程服务器读取错误

  • 我也无法访问/ phpmyadmin,给出与上面相同的404 NOT_FOUND错误。

我在运行Debian挤压Amazon EC2实例。

问题:我哪里错了? 我应该在proxy.conf(或另一个conf文件)中做什么修改才能访问博客?

如果我理解正确,你需要更换这一行

 ProxyPass /blog http://foo.com/blog 

用这条线

 ProxyPass /blog/ ! 

这指示apache2服务器不要代理以/ blog开头的任何东西,这是我想要的。

更新:官方文档是在这里: http : //httpd.apache.org/docs/2.2/mod/mod_proxy.html