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

Apache将请求转发到另一台服务器,apache,port,forward,Apache,Port,Forward,我希望apache将来自一台服务器的请求转发到另一台服务器。以下是完整的scnario: 共有3台服务器: 机器A-IP:A.A.A.A-希望在机器C上调用API的客户机 机器B-IP:B.B.B.B-中间机器 Machine C-IP:C.C.C.C-托管API的机器 API URL:http://Machine c:8000/v1/customer/ 连接状态: 机器A->机器B:端口80上的Telnet-良好 机器B->机器C:端口8000上的Telnet-良好 机器A->机器C:端口80

我希望apache将来自一台服务器的请求转发到另一台服务器。以下是完整的scnario:

共有3台服务器:

  • 机器A-IP:A.A.A.A-希望在机器C上调用API的客户机
  • 机器B-IP:B.B.B.B-中间机器
  • Machine C-IP:C.C.C.C-托管API的机器
  • API URL:http://Machine c:8000/v1/customer/

    连接状态:

  • 机器A->机器B:端口80上的Telnet-良好
  • 机器B->机器C:端口8000上的Telnet-良好
  • 机器A->机器C:端口8000上的Telnet-错误
  • 理想情况下,我想从机器A调用机器C上的API,但由于我在A和C之间没有直接的n/w连接,所以我必须走这条路线

    所以我想在机器B上设置apache服务器,以便: 从机器A进行API调用- http://机器B:80/v1/customer/。。。。然后将其转发到端口8000上的机器C。 C提供请求并将响应发送回A

    任务可能很简单,但我对这个apache还不熟悉,如果有人能告诉我解决方案,这对我明天的最后期限来说将是非常好的:)


    谢谢

    经过一些研究和进一步的谷歌搜索,我们终于能够做到这一点。以下是我所做的-可能对那些面临同样问题的人有所帮助:

    在机器B的httpd.conf文件中添加了以下内容:

    ProxyPass/v1/客户C.C.C.C:8000/v1/客户

    ProxyPassReverse/v1/客户C.C.C.C:8000/v1/客户

    因此,如果从客户端(机器A)以B.B.B.B/v1/customer的身份进行调用,则 转发至C.C.C.C:8000/v1/客户


    ProxyPass需要mod_代理模块。

    勾选您自己的答案!CherryPy也有同样的问题。这个链接提供了更详细的信息。在httpd.conf“LoadModule proxy\u http\u module modules/mod\u proxy\u http.so”中取消了这一行的注释后,上面的解决方案对我有效