1

我遇到了与这个 SO question相同的问题,但使用的是 nginx 和 CherryPy。我试图允许客户端192.168.0.4:80/otherpath通过 GET 请求访问,运行 nginx 和 CherryPy 的主机192.168.0.3:80/forward在哪里。192.168.0.3nginx 应该执行重定向。192.168.0.3本地 CherryPy 应满足对所服务的所有其他 URL 的请求。

我改编了 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 问题有关。

4

1 回答 1

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>

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

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

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

希望这可以帮助!

安德鲁

于 2013-01-13T22:21:56.860 回答