是否可以告诉您的路由器将特定域重定向到特定 IP?不幸的是,路由器是 Airport Extreme。如果无法使用此特定路由器完成此操作,还有其他方法可以实现此目的吗?
答案1
我配置过许多路由器,但从未在现成的路由器上看到过这样的功能。据我所知,只有 SonicWall 和 Cisco 路由器等高端企业路由器才有此类功能。这些路由器的价格不一,但我使用的 SonicWall 就有此功能,价格约为 3,000 美元。
这确实是您要完成的一项高级任务。如果您愿意,您可以购买与 DD-WRT 或 OpenWRT 兼容的路由器,并以不到 200 美元的价格获得此类功能。您必须刷新它,然后从那里开始。
@Dan 提供了另一种基于软件的选项,这可能是最简单的方法,具体取决于网络的大小以及路由器后面有多少台服务器。您可能能够将 Apache 配置为代理并将请求转发到其他内部 Apache 服务器。
Apache mod_proxy - http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
答案2
不,路由器不支持域名重定向,因为它们在 OSI 模型的第 3 层工作。这意味着它们根据 IP 地址路由网络流量,而 IP 地址不包含主机名或域名,因为这是在 OSI 模型的第 5 层(会话)完成的,请参阅:http://en.wikipedia.org/wiki/OSI_model 如果您想要路由到域,则可能需要考虑使用 VLAN 或子网。您可能在廉价路由器上找不到这些设置。
答案3
不,坦白说。Airport Extreme 绝对不行,而且我怀疑其他任何类型的消费者或专业消费者路由器都行。这不是路由器的设计目的 - 那种“路由”需要由操作系统上的软件来完成。
说实话,我甚至不确定是否有任何路由器可以满足这一要求 - 但我很高兴能够了解。
编辑:等一下,我假设您是在谈论重定向传入连接?您到底想实现什么?
答案4
正如前面提到的,对于大多数路由器来说这是不可能的。
然而,总有其他方法,我觉得这些方法可能对那些关注这个话题的人有价值:
对于那些想要实现对服务器的传入请求的人来说,可以通过另一种免费方法:
您可以将 1 个主服务器用作路由器。让我解释一下。如果您使用的是 Apache,则您具有将多个域作为“虚拟主机”托管的内置功能 - 如果您的服务器有足够的资源来处理它,那么在 1 个服务器上使用多个目录可能会更好。您可以将 Apache 配置为在同一 IP 上侦听多个“ServerName”(域),同时指向不同的目录。
如果您希望将每个域的文件放在单独的服务器上,您可以设置网络共享,并将“ServerName”指向 NFS 或 SAMBA 安装。无论使用哪种设置,您都依赖于主服务器的资源,因为处理将在那里进行。
对于那些想要从客户端计算机完成传出请求的人来说,可以通过另一种免费方法:
在您的计算机上,以管理员权限编辑您的 /etc/hosts 文件,基本上只需插入一个新行,其中包含您的目标 IP 和您想要指向的域名:
127.0.0.1 yourdomain.com
以下是适用于所有操作系统的非常好的操作指南: http://support.hostgator.com/articles/general-help/technical/how-do-i-change-my-hosts-file