我需要在我的服务器上运行 Apache 和 Maven,并且由于跨域安全限制,它们都必须在端口 80 上运行。最初我使用 HAProxy 实现了这一点,但这妨碍了我在 VPS 上托管的其他网站。但是,我确实有四个 IP,如果 Apache 在一个 IP 上运行端口 80,而 Maven 在另一个 IP 上运行端口 80,那就太好了。然后我可以使用 CNAME 记录轻松地将几个子域路由到 Maven。这可以做到吗?
答案1
当然,你可以将两个服务绑定到同一个端口在不同的 IP 上。
只需设置 Apache 和 Maven 绑定到特定的 IP 地址。
答案2
是的,你可以。只需将 Apache 绑定到一个 IP,将 Maven 绑定到另一个 IP
我假设您要克服的是 Javascript 的跨域策略。在 Javascript 中跨子域进行通信相对容易,但默认情况下并非如此。
您需要做的就是进行设置,例如:
- www.example.com - Apache 的 IP
- app.example.com - Maven 的 IP
如果您尝试从 www.example.com 调用 app.example.com,客户端 JavaScript 安全性将阻止其这样做。但是,您可以使用以下 JavaScript 将限制从仅限子域减少到域本身:
document.domain = "example.com";