Redhat 用反向代理,具体配置

Redhat 用反向代理,具体配置

我正在尝试组装的设置包括一个连接到互联网的服务器(一个 redhat 机箱)和 2 个未连接到互联网的 Apache Tomcat 机箱。

我们将该服务器称为 Server,将两个 Apache Tomcat 称为 Apache1 和 Apache2。

因此,假设我的外部 IP 是 102.1.1.1,Apache1 是 10.1.1.1,Apache2 是 10.1.1.2,我尝试配置的是反向代理,这样如果请求进入http://102.1.1.1/mywebserver1/它将定向到 Apache1,如果请求进入http://102.1.1.1/mywebserver2/它将被转发到 Apache2。

现在,我不需要在代理上使用缓存,因为那些 tomcat 中有一个应用程序,并且每个请求都需要得到一个新的答案。

我搜索了一段时间并尝试用 Squid 构建它但我无法让它按照我需要的方式工作。

有人知道怎么做吗?我需要什么软件?如何配置反向代理?

谢谢!

杰西卡

编辑:也许我最好使用 mod_jk 或 mod_proxy 来执行此操作?我的意思是,我可以在服务器中安装 Apache 并将请求重定向到 Apache1 和 Apache2 (Tomcat) 吗?

答案1

Jessica,正如您在编辑中所建议的那样,您绝对可以使用 mod_proxy 来执行此操作。您将在具有外部 IP 的服务器上安装 Apache HTTPD,并配置反向代理以根据文件Location中定义的 s传递请求httpd.conf

我很喜欢这一页因为它深入讨论了这个话题,同时比仅仅阅读更有帮助配置参考

我怀疑您可以配置 mod_jk 来执行此操作,但我还没有尝试过。

基本配置

LoadModule proxy_module modules/mod_proxy.so

ProxyRequests Off
<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass /mywebserver1 http://10.1.1.1
ProxyPass /mywebserver2 http://10.1.1.2
ProxyPassReverse /mywebserver1 http://10.1.1.1
ProxyPassReverse /mywebserver2 http://10.1.1.2

您应该阅读httpd有关 ProxyPass 和 ProxyPassReverse 指令的文档。ProxyPassReverse 特别有趣,因为它是“清理”代理流量的关键部分,这样被代理的应用程序就不必知道它们正在被代理。您可能还对以下内容感兴趣mod_proxy_html

相关内容