首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据域将特定端口上的所有通信转发到另一个端口。

问根据域将特定端口上的所有通信转发到另一个端口。
EN

Server Fault用户
提问于 2012-03-05 19:45:39
回答 2查看 2.7K关注 0票数 2

想象一下我有10个不同的领域。所有这些域都有一个到一个IP地址的A记录。在这个IP上托管了十个不同的服务。让我们假设他们从端口:80监听到:90。使用的协议的默认端口是:80,我不能强迫用户将:82附加到域名。

问题是:我想根据使用的域名在内部转发:80。

  • domain0.com:80 -> :80
  • domain1.com:80 -> :81
  • domain2.com:80 -> :82
  • domain3.com:80 -> :83
  • ..。

我搜索了一下,发现了iptables。这就是我要找的吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-03-05 19:58:29

一般来说,这样做是不可能的。当客户端通过TCP和/或UDP进行连接时,服务器没有关于客户端用于请求服务器IP地址的域的信息。

由于您提到的是端口80,所以您可能在谈论HTTP流量。在这种情况下,可以进行这种区分,因为HTTP协议也传输所选的域名。您可以使用像Apache这样的HTTP服务器,并为充当反向代理的每个域配置一个虚拟主机,并将流量转发到正确的端口。这样的配置看起来可能是这样的:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName domain1.com

    ProxyPass / http://server-ip:81/
</VirtualHost>

为此,需要激活模块proxy和proxy_http。

票数 3
EN

Server Fault用户

发布于 2012-03-05 20:08:24

您可以使用代理或负载均衡器(如what )完全按照您的要求进行操作。但是,如果您只想在同一个IP上托管多个站点,那么使用报头将是标准的方法。

如果您试图在同一个IP上承载多个SSL站点,那么这两种方法都不会工作,因为标头和url都是加密的。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/366565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档