将访问从域名redirect到IP:端口

现在我有一个运行在IP:端口上的服务器。 如果我想使用DNS,但redirect到端口,我将如何做? 我听说这是可能的,但是我怎么会这样做,即使它包括创build代理等东西?

例如,访问:

使用domain.tld

会改为访问

IP:端口

港口可以是我想要的任何东西。

如果没有直接的解决scheme,我将如何继续使用“VirtualHost”?

您可以使用Apache或几乎任何其他的networking服务器来完成这个工作,简而言之,您可以configuration您的服务器来完成两件事情:

  • 听:80接受最初的请求。
  • 当你如此请求example.com时,你会redirect到另一个位置。 例如1.2.3.4:82

但是,您可能会发现来自大型企业的访问者在防火墙后面将无法查看您的网站。 (因为他们的传出防火墙可能允许连接到标准端口80 + 443而不是其他人,所以他们会redirect到一个他们无法查看的位置。)

总之,除非你有这样做的好理由,否则几乎肯定是一个不好的计划。 (您不能在一个networking服务器上运行任意数量的站点,每个站点都在端口80上运行。如果您需要运行多个SSL站点,则传统上需要额外的IP。)

这里有一个简单的例子:

NameVirtualHost 1.2.3.4:80 <VirtualHost 1.2.3.4:80> ServerName example.com ServerAlias www.example.com Redirect 301 / http://3.4.5.6:83/ </VirtualHost> <VirtualHost 1.2.3.4:80> ServerName example.net ServerAlias www.example.net Redirect 301 / http://3.4.5.6:82/ </VirtualHost> <VirtualHost 1.2.3.4:80> ServerName example.org ServerAlias www.example.org Redirect 301 / http://3.4.5.6:2020/ </VirtualHost>