Apache 2-将特定域中的所有请求转发到内联网中的其他服务器

Apache 2-将特定域中的所有请求转发到内联网中的其他服务器

我有两台服务器:

  • A (192.168.1.100:80
  • 乙(192.168.1.200:8080

两者都位于防火墙后面,并且仅端口 80 开放并转发至服务器 A。

外部人员输入以下内容www.mydomain.com来访问我的网络服务器 A。

现在我希望所有的 HTTP 都subdomain.mydomain.com转到服务器 B。

答案1

您可以使用mod_proxy去做这个。

您在 A 上为 subdomain.mydomain.com 设置一个主机条目以指向 B,并设置 B 来为该域提供服务。然后在 A 上为 subdomain.mydomain.com 设置一个虚拟主机。此虚拟主机将反向代理 / 到 B。

ProxyPass / http://subdomain.mydomain.com/
ProxyPassReverse / http://subdomain.mydomain.com/

答案2

为了实现这一点,您将需要两个虚拟主机并启用 mod_proxy。

在启用站点的情况下,您将需要一个包含以下内容的文件(以及您想要的任何其他配置):

<VirtualHost *:80>
   ServerName www.mydomain.com

   ... whatever you want to serve
</VirtualHost>
<VirtualHost *:80>
   ServerName subdomain.mydomain.com
   ProxyPass / http://subdomain.mydomain.com/
   ProxyPassReverse / http://subdomain.mydomain.com/
</VirtualHost>

相关内容