是否可以在同一台服务器上的同一端口上运行两个 Web 服务器?例如,Apache 和 Lighttpd

是否可以在同一台服务器上的同一端口上运行两个 Web 服务器?例如,Apache 和 Lighttpd

可能重复:
在 80 端口上运行两个服务

我有一台 QNAP TS-459 Pro II,它带有一个在端口 80 上运行的 Apache 网络服务器。

我也想经营一家小西纳特拉app;也在端口 80 上。

我希望 Apache 能够提供example.comfoo.example.com,但我希望 Sinatra 能够提供bar.exapmle.com

是否可以让两个 Web 服务器在同一端口上运行但仅根据特定的域绑定进行应答?

答案1

一次只能有一个应用程序打开特定的端口/IP 组合,但您可以通过将 Apache 设置为反向代理来近似实现您的需要。

亮点 -

  • 在端口 80 上运行 Apache,并启用 mod_proxy
  • 不要打开 ProxyRequests(这仅适用于正向代理)
  • 在不同的端口和/或 IP 上运行其他应用程序
  • 使用 Apache 虚拟主机和反向代理配置将流量引导到适当的站点。

您可以查看这些链接了解更多信息 -

ApacheTutor 文章

Apache mod_proxy 文档

答案2

不,除非您的服务器上有两个不同的公共 IP,每个服务器都可以绑定到这两个 IP。然后每个服务器都需要明确侦听特定的 IP/端口组合,这样它才能“正常工作”。

如果你只能访问单个 IP 地址,则通常的解决方案是在不同的端口上设置 Sinatra 服务器(localhost:808*很流行),然后使用mod_proxy在 Apache 中内部管理您的 Sinatra 服务器域。

相关内容