CherryPy转发请求到另一台服务器

时间:2013-01-13 20:50:06

标签: http routing port cherrypy forward

我遇到与this SO question相同的问题,但是使用nginx和CherryPy。我正在尝试允许客户端通过向192.168.0.4:80/otherpath发出的GET请求来访问192.168.0.3:80/forward,其中192.168.0.3是运行nginx和CherryPy的主机。 nginx应该执行重定向。当地的CherryPy应该满足192.168.0.3所服务的所有其他网址的请求。

我改编了Andrew Kloos建议的nginx配置:

server {
  listen          80;
  server_name     192.168.0.3;
  root            /;

  location /forward {
    proxy_pass http://192.168.0.4:80/;
    proxy_set_header  X-Real-IP  $remote_addr;
  }
}

根据需要执行转发。将其他请求定向到本地CherryPy服务器需要什么配置,以及CherryPy如何运行以适应这种情况?我认为这可能是关于ServerFault问题的。

1 个答案:

答案 0 :(得分:0)

所以你在Apache背后为CherryPy服务?

如果是这样,试试这个......

在httpd.conf文件中添加了以下内容:

<Location /appserver/>
ProxyPass 192.168.0.3:80/forward 192.168.0.4:80/otherpath
ProxyPassReverse 192.168.0.3:80/forward 192.168.0.4:80/otherpath
</Location>

您还需要ProxyPass的mod_proxy模块才能与Apache一起使用。

或者对于nginx编辑你的nginx.conf文件,将其添加到你的服务器部分:

location http://192.168.0.3:80/forward {
    proxy_pass http://192.168.0.4:80/otherpath;
}

希望这有帮助!

安德鲁