我想在 Sitecore 支持的网站上实现“网站维护中”页面,CMS 编辑可以在其中打开/关闭维护模式。在维护模式期间,所有请求都被转发到维护页面。在网站根目录中使用 app_offline.htm 的解决方案是可以的,但问题是网站是负载平衡的。
在负载平衡网站上实现我想要的内容的最佳实践是什么,特别是对于 Sitecore CMS?
我想在 Sitecore 支持的网站上实现“网站维护中”页面,CMS 编辑可以在其中打开/关闭维护模式。在维护模式期间,所有请求都被转发到维护页面。在网站根目录中使用 app_offline.htm 的解决方案是可以的,但问题是网站是负载平衡的。
在负载平衡网站上实现我想要的内容的最佳实践是什么,特别是对于 Sitecore CMS?
在任何负载平衡的环境中,您都应该避免将此app_offline.html
页面作为您网站的一部分。请记住,如果您正在部署新代码,该站点可能会遇到一些异常或配置问题,甚至您的纯 html 维护页面也将无法访问。
您应该考虑app_offline
直接在负载均衡器上设置页面重定向。在这种情况下,您只需将其设置在一个地方,您无需担心您的网站不可用。Sitecore
当然,在这种情况下,您将无法管理此页面。
而负载均衡环境中最好的解决方案是根本没有app_offline.html
页面。当您进行任何维护时,您是在当时的一个(一半)负载平衡服务器上执行它。同时,其他服务器应响应用户的请求。当您准备好对一台服务器进行维护时,将其放回负载均衡器并开始维护其他服务器(在对它们进行任何更新之前将它们从负载均衡器中取出)。
您可以创建 httpmodule 来读取 CMS 编辑器可以在 sitecore 内部打开/关闭的一些设置,如果该设置被关闭,您将重定向到您的自定义维护页面。通过检查登录的用户域,确保您没有重定向来自 sitecore 桌面的任何 http 请求。
当我第一次开始使用 CM 到 CD 负载平衡环境时,我使用了这篇文章:http: //csuwannarat.wordpress.com/2011/12/20/sitecore-deployment-process-in-load-balanced-production-environment/
希望这对您也有帮助。