我们公司有两个站点
www.mysite.com -- Wordpress 站点
www.mysite.com/portal -- asp.net mvc 站点
我们希望将 wordpress 站点 (www.mysite.com) 移动到 Azure,而另一个站点保持在本地。我们需要 url 保持不变。我们怎样才能做到这一点?
我们公司有两个站点
www.mysite.com -- Wordpress 站点
www.mysite.com/portal -- asp.net mvc 站点
我们希望将 wordpress 站点 (www.mysite.com) 移动到 Azure,而另一个站点保持在本地。我们需要 url 保持不变。我们怎样才能做到这一点?
由于您声明您需要 URL 保持不变,这可以通过反向代理来实现。您将在 www.mysite.com 上设置一个 Web 服务器(通常是 nginx 或 IIS)来应答。
此 Web 服务器将具有反向代理规则,将请求转发/portal
到您的本地服务器(在给定的非公共 IP 和端口中),并将所有其他请求转发到另一个运行 WordPress 的 Web 服务器(在运行反向代理或单独的代理),也具有给定的 IP 和端口。
然后,所有用户请求都将到达反向代理,如果可能的话,它将从缓存中为它们提供服务,或者将它们转发到内部 Web 服务器,并将响应透明地发送回用户。请注意,这是一个内部操作,而不是重定向响应。
尽管此设置比使用不同子域的简单解决方案(www.mysite.com 用于网站,portal.mysite.com 用于应用程序)更复杂,但它具有参考的Wikipedia 文章中描述的某些优点,例如安全性和加速度。
或者,您可以如上所述创建单独的子域,并使用重定向规则来重定向对www.mysite.com/portal/x
to的请求portal.mysite.com/x
。在这种情况下,用户会在他们的浏览器中看到更新后的 URL,但旧的 URL 仍然可以使用。