将子域重定向到ip:port

时间:2017-10-13 12:16:37

标签: redirect subdomain

你知道在计算机编程中,完美程度是不是很接近完美?

好吧,我的服务器在端口8080上运行。我使用iptables进行重定向,将80重定向到8080。 所以当我去www.domain.com时,它运作良好

我在端口8081上运行第二台服务器。 当我访问www.domain.com:8081时,效果很好。

一切正常!但是,嘿,记住我的第一条规则......

现在,我想通过www.sub.domain.com(或www.domain.com/sub,我不在乎)访问我的第二个网站 基本上,我希望www.sub.domain.com(或www.domain.com/sub)重定向到www.domain.com:8081

从现在开始,据我所知,如果我的服务器上有第二个IP,那将非常简单。但这不是一个好的解决方案,因为我可能想拥有100个子域名,而且我不想为此付出代价。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我建议您在网络服务器上安装反向代理。 Apache和Nginx正在支持这一点;

例如,您的网络服务器侦听端口80,并且根据请求的域(在nginx的服务器块中,用于apache的vhost),您可以要求他在内部重定向到特定的url:端口。

for apache :(参见“一起使用Virtual_host和mod_proxy”) https://httpd.apache.org/docs/2.4/vhosts/examples.html

表示nginx: https://www.nginx.com/resources/admin-guide/reverse-proxy/

答案 1 :(得分:1)

我认为你不需要iptables或反向代理来实现这一切。只需配置您的Web服务器以正确监听默认端口并使用虚拟主机让服务器正确解析请求。

在Apache上阅读本节https://httpd.apache.org/docs/2.4/vhosts/,相当小。 想象一下,将来你还需要监听https,添加证书等。当使用反向代理时,你的情况会变得混乱和不必要。