nginx配置访问时间控制以及自定义错误页面

我们的需求是,11月的5号至11号,工作日的8点至18点可以访问,5号,11号全天不可访问。

  1. 准备好自定义错误页面,并将页面放到nginx根目录的html目录下。

  2.  编写配置文件
     location / {
    
                #通过$time_local获取系统时间,日月年-时分秒,并将日和时赋值给变量
                if ( $time_local ~ "^(\d+)\/(\w+)\/(\d+):(\d+):(\d+):(\d+) \+(\d+)" ) {
                    set $hour $4;
                    set $day  $1;
                }
    
                #5号和11号全天不可以访问,直接返回500
                if ($day ~ 05|11) {
                    return 500;
                }
    
                set $flag "";
                if ($day ~ 03|06|07|08|09|10) {
                   set $flag "${flag}1";
                }
                   
                if ($hour ~ 01|02|03|04|05|06|07|08|15|19|20|21|22|23|24) {
                    set $flag "${flag}2";
                }
                
                #工作日的非工作时间不可以访问,其他时间可以访问。
                if ($flag = 12){
                   return 500;
                }
            
                root   /mydata/home;
                index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /error.html;
            location = /error.html {
                root   html;
            }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值