现在我有一个在 IP:Port 上运行的服务器。如果我想使用 DNS 但重定向到端口,我该怎么做?我听说这是可能的,但我该怎么做,即使它包括创建诸如代理之类的东西?
例如,访问:
域名.tld
而是访问
IP:端口
并且端口可以是任何我想要的样子。
如果没有直接的解决方案,我该如何使用“VirtualHost”?
答案1
您可以使用 Apache 或几乎任何其他 Web 服务器来执行此操作,简而言之,您需要将服务器配置为执行两件事:
- 监听 :80 以接受初始请求。
- 当你对 example.com 发出请求时,你会重定向到其他位置。例如 1.2.3.4:82
但是,您可能会发现来自大型公司的访问者在防火墙后面无法查看您的网站。(因为他们的传出防火墙可能允许连接到标准端口 80 + 443,但不允许连接到其他端口。因此他们会重定向到他们无法查看的位置。)
简而言之,除非你有充分的理由这样做,否则这几乎肯定是一个坏计划。(你不能在一个 Web 服务器上运行任意数量的网站,每个网站都在端口 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>