所以我一直在试图找出如何将一个子域redirect到一个特定的端口。
假设应用程序将始终请求默认端口,默认端口为30000.我们有sub1.domain.com,sub2.domain.com和sub3.domain.com,它们都指向相同的IP。 我想redirect请求到sub1.domain.com:30000到端口31000,sub2到32000和sub3到33000.所有这些在相同的IP。
我已经尝试了socat / netcat和iptables,但是它们都将域parsing为一个IP地址,在这种情况下,它是相同的,所以它打破了redirect。
有任何想法吗? 这甚至有可能吗? 我有一些networking知识和了解层有点…这里的问题是跨层,所以我不知道甚至有办法做到这一点,除非我写一个服务器,侦听该端口,并redirect基于请求的域…: \
先谢谢你。 🙂
我不认为iptables可以做这样的伎俩。 它更适合处理IP而不是域名。
对于HTTPstream量,您可以使用代理服务器(或HTTP负载均衡器)来做这样的事情,它将根据定义的规则获取您的请求并redirect它们。
如果这是非HTTPstream量,除非您更具体,否则我们无法给您更多的帮助。 然而,基本的想法可以是相同的,因为你的协议的行为类似于HTTP。 @Yvette提到的一个重要提示是添加主机信息(例如HTTP中的Host头)。 否则,您可能无法识别所请求的子域名。
您可以尝试添加一个标头,标识要请求的主机。
它就像下面的要求。
主机:xxoo1 **您的原始请求数据**