首页 文章

根据域名将传入请求路由到特定服务器

提问于
浏览
1

现在我有防火墙(iptables,Apache,Squid,DNS安装)和防火墙后面的应用服务器 .

防火墙的端口443(HTTPS)上的传入流量将重定向到应用程序 . 服务器由iptables . 基本上,防火墙上的Apache和其他应用程序都没有看到HTTPS流量 . 我直接从防火墙提供了一些Web内容 - 它通过thrugh 80到达Apache .

现在我想添加一些额外的服务器并在其上安装其他Web服务 .

如何配置防火墙计算机将基于域名的传入流量路由到所需的主机?

What are the common practices, technologies, and tools?

在当前设置中,我拥有的所有域都将转到同一服务器,无论其名称是什么,如果它们来自端口443.所以我想要例如foo.com转到server1和bar.com由server2服务;不管港口 .

非常感谢你!

3 回答

  • 4

    您将需要更多IP地址 .

    HTTPs的问题在于,在客户端可以发送带有所请求域名的Host:头之前,会发送证书(包含域名) .

    如果您有https://foo.comhttps://bar.com,并且foo.com和bar.com位于同一IP上,那么浏览到bar.com将获得foo.com证书并因证书验证错误而失败 .

    在防火墙上有多个IP地址后,可以直接将每个IP地址路由到不同的服务器 .

  • 0

    我最近才开始研究同样的事情 . 使用mod_proxy将Apache设置为其他服务器的反向代理是我见过的更好的选择之一 . 我很好奇其他人会想出什么 .

    正如pjc50所提到的,这不适用于HTTPS上的多个域 .

  • 0

    您在DNS服务器上使用SRV记录 .

    例如:

    SUBDOMAIN TTL数据(优先级先)

    server1.domain.com:3600:10 10 1337 domain.com

    这会将域server1.domain.com上的所有传入流量映射到domain.com上的端口1337

    就这么简单 .

相关问题