想象一下我有10个不同的领域。所有这些域都有一个到一个IP地址的A记录。在这个IP上托管了十个不同的服务。让我们假设他们从端口:80监听到:90。使用的协议的默认端口是:80,我不能强迫用户将:82附加到域名。
问题是:我想根据使用的域名在内部转发:80。
domain0.com:80 -> :80domain1.com:80 -> :81domain2.com:80 -> :82domain3.com:80 -> :83我搜索了一下,发现了iptables。这就是我要找的吗?
发布于 2012-03-05 19:58:29
一般来说,这样做是不可能的。当客户端通过TCP和/或UDP进行连接时,服务器没有关于客户端用于请求服务器IP地址的域的信息。
由于您提到的是端口80,所以您可能在谈论HTTP流量。在这种情况下,可以进行这种区分,因为HTTP协议也传输所选的域名。您可以使用像Apache这样的HTTP服务器,并为充当反向代理的每个域配置一个虚拟主机,并将流量转发到正确的端口。这样的配置看起来可能是这样的:
<VirtualHost *:80>
ServerName domain1.com
ProxyPass / http://server-ip:81/
</VirtualHost>为此,需要激活模块proxy和proxy_http。
发布于 2012-03-05 20:08:24
您可以使用代理或负载均衡器(如what )完全按照您的要求进行操作。但是,如果您只想在同一个IP上托管多个站点,那么使用报头将是标准的方法。
如果您试图在同一个IP上承载多个SSL站点,那么这两种方法都不会工作,因为标头和url都是加密的。
https://serverfault.com/questions/366565
复制相似问题