我们的需求是,11月的5号至11号,工作日的8点至18点可以访问,5号,11号全天不可访问。
- 准备好自定义错误页面,并将页面放到nginx根目录的html目录下。
- 编写配置文件
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; }