如何将子域指向不同的本地IP

我的问题是如何使用dynamicIP将子域指向本地服务器 。 区别在于我的ISP有一个静态IP,我想我不需要使用DynDNS对吧? 所以我可以用什么呢?

我的目标是将每个子域指向不同的Web服务器,如下所示:
mydomain.com – > 192.168.1.100(主网页服务器)
sub1.mydomain.com – > 192.168.1.101(networking服务器1)
sub2.mydomain.com – > 192.168.1.102(networking服务器2)

我试过在这里使用Apache遵循指令的代理模块但是不成功。 当我通过浏览器访问sub1.mydomain.com时,它总是导致mydomain.com。
我可以这样做吗? 如果不是,请给我另一种方式。

我使用Ubuntu Server 12.04

[解决了]

  1. 设置DNS

公共IP的Alogging点:
1 @ public.ip
2 www public.ip
CNAMElogging指向子域:
1 sub1 mydomain.com
2 sub2 mydomain.com

  1. 设置Apache。

sub1sub2添加到/etc/apache2/sites-available

SUB1:

 <VirtualHost *:80> ServerName sub1.mydomain.com <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://192.168.1.101/ ProxyPassReverse http://192.168.1.101/ </Location> </VirtualHost> 

SUB2:

 <VirtualHost *:80> ServerName sub2.mydomain.com <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://192.168.1.102/ ProxyPassReverse http://192.168.1.102/ </Location> </VirtualHost> 

我刚刚做了这个。 看到我的问题 。 这是一个很长的来回,但我最终确定了它。

  • 设置DNS。 Alogging将指向您的公共IP。 所以,yourdomain.com指向your.pub.ip.add。 为子域添加CNAMElogging。 因此,sub1.yourdomain.com指向@ ,sub2.yourdomain.com指向@等。虽然子域名都指向相同的地址,浏览器将授予networking服务器您试图达到的子域。

  • 设置Apache。 您需要为每个子域(也可能是主域)设置虚拟主机。 您可以在不同的地方定义虚拟主机… mine在/etc/apache2/sites-available ,并包含<Location>指令,您可以在其中设置您的反向代理。

这不是一个真正的Web服务器问题,它应该在您的DNS中进行整理。 您控制mydomain.com的DNS,对吧? 因此,为指向相关IP地址的子域添加Alogging,确保这些地址由知道应该为这些域提供服务的Web服务器提供,并且全部都可以使用。

让所有的子域请求通过mydomain.com的主要networking服务器,就像某种奇怪的负载平衡器一样,效率低下且不必要。

编辑 :对不起,我还没有意识到你使用192.168.0.0/16地址来表示你的子域服务器是在一个内部networking; 我以为你只是编辑地址,因为你已经编辑了域名。

那么:内部networking上的所有networking服务器? 还是只有子域的? 如果是后者,主Web服务器和内部服务器之间有什么样的VPN连接?

如果我正确理解你的话,这是你的情况:

  • 您有一个外部IP地址
  • 您有多个内部Web服务器(如:不同的物理机器或虚拟机,而不仅仅是同一个Web服务器上的不同Web根目录)

在这种情况下,你不能依靠每个域使用不同的IP,因为你只有一个。 你不能简单地告诉Apache使用“主机”HTTP头路由到正确的子域,因为你有更多的设置的Apache,所有在不同的内部IP地址。

在这种情况下,我将使用反向代理模式下的Squid:将其安装在“简单”计算机上,并将请求redirect到每个本地或远程Web服务器。

安装起来相当简单:从标准的squid文档中查看这个页面,因为它描述了你想要做什么: http : //wiki.squid-cache.org/ConfigExamples/Reverse/MultipleWebservers

请不要使用反向代理可能会导致应用程序兼容性的一些问题,并且在这种情况下设置SSL是微妙的(但可以完成)。