想象一下,我有10个不同的领域。 所有这些域都有一个Alogging到一个IP地址。 这个IP上有十个不同的服务。 我们假设他们听从端口:80到:90 。 使用的协议的默认端口是:80 ,我不能强制用户在域名后加上:82 。
这里是问题:我想内部转发:80取决于使用的域名。
domain0.com – > :80 domain1.com – > :81 domain2.com – > :82 domain3.com – > :83 我search了一下,并遇到了iptables 。 这是我在找什么?
一般来说这不能这样做。 当客户端通过TCP和/或UDP连接时,服务器没有关于客户端用于请求服务器IP地址的域的信息。
既然你提到80端口,你可能会谈论HTTPstream量。 在这种情况下,由于HTTP协议也传输选定的域名,因此可以进行区分。 您可以使用像Apache这样的HTTP服务器,并为充当反向代理的每个域configuration一个虚拟主机,并将stream量转发到正确的端口。 像这样的configuration可能看起来像这样:
<VirtualHost *:80> ServerName domain1.com ProxyPass / http://server-ip:81/ </VirtualHost>
为了这个工作模块proxy和proxy_http需要被激活。
您可以使用代理或负载均衡器(如haproxy)来完成您要求的操作。 但是,如果你只是想在同一个IP上承载多个站点,那么使用标题将是标准方法。
如果您尝试在同一个IP上承载多个SSL站点,则这两种方法都不起作用,因为标头和url已encryption。