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

时间:2012-04-11 06:16:29

标签: apache port forward

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

有3台服务器:

  1. 机器A - IP:A.A.A.A - 想要在机器C上调用API的客户端机器。
  2. 机器B - IP:B.B.B.B - 中间机器
  3. Machine C - IP:C.C.C.C - 托管API的机器。
  4. API网址:http://计算机c: 8000 / v1 / customer /....

    连接状态:

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

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

      任务可能很简单,但我是这个apache的新手,如果有人能告诉我解决方案,那对我明天的截止日期来说会很棒:)。

      谢谢!

1 个答案:

答案 0 :(得分:14)

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

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

ProxyPass / v1 / customer C.C.C.C:8000 / v1 / customer

ProxyPassReverse / v1 / customer C.C.C.C:8000 / v1 / customer

因此,从客户端(机器A),如果调用是作为B.B.B.B / v1 /客户,那么它将是 转发给C.C.C.C:8000 / v1 / customer

ProxyPass需要mod_proxy模块。

相关问题