将子域重定向到 ip:port



你知道在计算机编程中,完美甚至不接近完美吗?

好吧,我的服务器在端口 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 个子域,而我不想为此付费。

有什么想法吗?

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

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

对于 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/

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

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

最新更新