Apache 一个网站的一部分可以存在于不同的服务器上吗?

Apache 一个网站的一部分可以存在于不同的服务器上吗?,apache,docker,nginx,reverse-proxy,traefik,Apache,Docker,Nginx,Reverse Proxy,Traefik,假设我有一个网站www.myapp.com, 我是否可以将myapp.com/api/的所有流量重定向到其他服务器 所有到myapp.com/blog/的流量都在另一个上 我不想更改URL。 我知道这类事情与负载平衡有关,但我不关心负载平衡。 我已经建立了一个网站,一个API作为独立的服务,我希望他们生活在同一个域名下,但不同的路径。这可能吗 这可能听起来很愚蠢,但我找不到任何资源: 应用程序的一部分也被固定在不同的服务器上。是的,这是可能的。您可以使用web服务器的反向代理来实现这一点 当您将

假设我有一个网站www.myapp.com, 我是否可以将myapp.com/api/的所有流量重定向到其他服务器 所有到myapp.com/blog/的流量都在另一个上

我不想更改URL。 我知道这类事情与负载平衡有关,但我不关心负载平衡。 我已经建立了一个网站,一个API作为独立的服务,我希望他们生活在同一个域名下,但不同的路径。这可能吗

这可能听起来很愚蠢,但我找不到任何资源:
应用程序的一部分也被固定在不同的服务器上。

是的,这是可能的。您可以使用web服务器的反向代理来实现这一点

当您将多个Docker容器连接到同一网络时,Docker的服务发现基本上可以工作,这样您就可以使用容器的主机名访问容器。这里的问题是这些容器必须连接到同一个网络

由于您提到应用程序的一部分是固定的,并且独立存在,因此有不同的解决方案可用

让我们假设:

Nginx是web服务器,它运行在server1上。 已停靠的应用程序位于server2中。 服务器1和服务器2可以相互通信。 你知道Docker,Docker Swarm。 使用Docker Swarm和服务发现:*推荐* 创建并连接两台服务器。然后创建一个。完成后,在同一网络中的server1中运行Nginx,并在同一网络中的server2中运行停靠应用程序

使用Docker和端口映射: 在server2和中运行已停靠的应用程序。在server1中,使用反向代理连接到server2的映射端口

注: 在这两种情况下,请确保

server1和server2都可以相互通信。 按照相应的说明打开防火墙中的相应端口 文档 您还可以使用其他web服务器,如apache,并且可以遵循相同的步骤。 限制:仅适用于Nginx反向代理
每当重新启动停靠的应用程序时,Nginx的缓存将不会刷新,因为它将经历502坏网关错误。为了处理它,您可能需要让Nginx在特定的时间间隔内刷新其缓存一次

当然,您可以使用nginx和proxy_pass指令来实现这一点。这可能会让你开始。