DReispt Asked: 2012-12-21 03:17:51 +0800 CST2012-12-21 03:17:51 +0800 CST 2012-12-21 03:17:51 +0800 CST 警告用户服务器正在维护 772 有时,OpenERP 生产服务器需要一些维护:升级一些模块,可能需要重启服务器。 我的问题是,我想有办法阻止普通用户访问服务器。例如,通过向他们返回“维护中”消息。 最好的解决方案是什么? odoo 2 个回答 Voted Best Answer allquixotic 2012-12-21T08:32:53+08:002012-12-21T08:32:53+08:00 如果服务器正在重新启动,通常您需要某种故障转移 IP 或至少在应用程序服务器(在本例中为 OpenERP)前面的缓存代理来告诉用户它已关闭。否则,当服务器离线时,您只会收到返回给客户端的一般浏览器错误消息,例如“找不到服务器”或类似的消息。 简而言之,最好的方法是让另一个物理/虚拟服务器位于“始终”运行的应用程序服务器前面(或独立重新启动的服务器集群),以便您始终可以解决问题域名,或者如果主服务器因崩溃或重启而关闭,则可以故障转移到备份服务器。 DReispt 2012-12-22T01:50:25+08:002012-12-22T01:50:25+08:00 这不是最好的方法,但它是一个有用的 hack: 编辑服务器的openerp\addons\base\res\res_users.py文件。在def check(self, db, uid, passwd):方法的开头添加: if uid != openerp.SUPERUSER_ID: raise osv.except_osv(_('UNDER MAINTENANCE'), _('This service is temporarily down for maintenance.')) 下次重新启动时,服务器将停止接受 以外的用户admin。
如果服务器正在重新启动,通常您需要某种故障转移 IP 或至少在应用程序服务器(在本例中为 OpenERP)前面的缓存代理来告诉用户它已关闭。否则,当服务器离线时,您只会收到返回给客户端的一般浏览器错误消息,例如“找不到服务器”或类似的消息。
简而言之,最好的方法是让另一个物理/虚拟服务器位于“始终”运行的应用程序服务器前面(或独立重新启动的服务器集群),以便您始终可以解决问题域名,或者如果主服务器因崩溃或重启而关闭,则可以故障转移到备份服务器。
这不是最好的方法,但它是一个有用的 hack:
编辑服务器的
openerp\addons\base\res\res_users.py
文件。在def check(self, db, uid, passwd):
方法的开头添加:下次重新启动时,服务器将停止接受 以外的用户
admin
。