我遇到与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问题的。
答案 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;
}
希望这有帮助!
安德鲁