apache作为接入的情况下对后端web应用是不是可用的页面控制
apache作为接入的情况下对后端web应用是否可用的页面控制
apache作为前端接入,后端转到基于tomcat的web应用,有的时候,因为系统升级或者别的原因,某一个时间段后端web应用无法使用的情况下,为了友好地通知用户系统暂时无法使用,在index.html页面里用javascript进行判断目前是否可用,根据判断结果转到service_stop.html,或者web app的index.html页面.
<HTML> <HEAD> <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> var stopFlag = false; var sysDateTime = new Date(); var sysYear = sysDateTime.getFullYear(); var sysMonth = sysDateTime.getMonth() + 1; if(sysMonth < 10){ sysMonth = '0' + sysMonth; } var sysDate = sysDateTime.getDate(); if(sysDate < 10){ sysDate = '0' + sysDate; } var sysHour = sysDateTime.getHours(); if(sysHour < 10){ sysHour = '0' + sysHour; } var sysMinute = sysDateTime.getMinutes(); if(sysMinute < 10){ sysMinute = '0' + sysMinute; } var sysSecond = sysDateTime.getSeconds(); if(sysSecond < 10){ sysSecond = '0' + sysSecond; } var sysYmd = sysYear + '/' + sysMonth + '/' + sysDate; var sysHms = sysHour + ':' + sysMinute + ':' + sysSecond; if(sysYmd == '2017/01/15' && sysHms > '08:00:00'){ stopFlag = true; } else if (sysYmd == '2017/01/03'){ stopFlag = true; } else if(sysYmd == '2016/11/11'){ stopFlag = true; } else if(sysYmd == '2017/02/12' && sysHms > '08:00:00' && sysHms < '18:30:00'){ stopFlag = true; } else if( (sysYmd == '2016/10/16' && sysHms > '22:00:00') || (sysYmd == '2016/10/27' && sysHms < '20:00:00') ){ stopFlag = true; } else if(sysYmd >= '2016/10/10' && sysYmd <= '2016/10/11'){ stopFlag = true; } else if( (sysYmd == '2016/10/30' && sysHms > '22:00:00') || (sysYmd == '2017/01/04' && sysHms < '09:30:00') ){ stopFlag = true; } else if(sysYmd >= '2016/12/30' && sysYmd <= '2016/12/31'){ stopFlag = true; } if(stopFlag){ document.write("<META HTTP-EQUIV='Refresh' content='0;URL=./service_stop.html'>"); } else { document.write("<META HTTP-EQUIV='Refresh' content='0;URL=/application/index.html'>"); } </script> <TITLE>Home</TITLE> </HEAD> <BODY> </BODY> </HTML>
当然,这个方案不是最佳实现,比如:
1>时间的判断是在client端进行,如果client和server端有时差的话,会出现偏差
2>先返回index.html,然后再进行redirect,效率不是很高,用户体验不是很好
3>javascript代码直接暴露给了client端,不是很安全