Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http CherryPy将请求转发到另一台服务器_Http_Routing_Port_Cherrypy_Forward - Fatal编程技术网

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

Http CherryPy将请求转发到另一台服务器,http,routing,port,cherrypy,forward,Http,Routing,Port,Cherrypy,Forward,我和nginx和CherryPy有同样的问题。我试图允许客户端通过GET请求访问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提供的所有其他URL的请求 我改编了Andrew Kloos建议的nginx配置: server { listen 80; server_n

我和nginx和CherryPy有同样的问题。我试图允许客户端通过GET请求访问
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
提供的所有其他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需要如何运行才能适应这种情况?我认为这可能是一个服务器故障问题。

那么你是在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>
希望这有帮助


安德鲁

不,只是樱桃糖本身。我会更新这个问题。我知道,如果目前无法完成,我将使用Apache将一些请求路由到CherryPy,其他请求路由到第二台主机。我不知道简单的CherryPy解决方案。我正在使用nginx代理我的CherryPy应用程序。一些小而高性能的东西,比如nginx,而不是Apache,会是一个更好的主意。谢谢你的提示。我会试试这个,然后报告结果。不客气。好的-我已经更新了使用nginx作为代理的答案。Hiya。很抱歉耽搁了这么长时间——在我的生活中其他地方阻塞了工作项。:)到目前为止,我已经用我的进展更新了这个问题-我环顾了一下nginx configs等我试图解决的问题,但我对web管理员一般来说还是比较陌生的,似乎有各种令人困惑的方法来实现我想要的。
location http://192.168.0.3:80/forward {
    proxy_pass http://192.168.0.4:80/otherpath;
}