Nginx指定时间段无法访问
2023-12-19 16:43:11 / 超级管理员 / 62768 浏览
文章目录
Nginx指定时间段无法访问
背景
配置思路
背景
部分域名要求指定时间不对外访问,指定要配置Nginx,
配置思路
经过一系列的讨论,得出了以下两个解决方法:
准备两份不同的配置文件,经过操作系统定时任务切换;
通过Nginx的if语句对时间进行判断,如果当前时间为限制时间,则返回其他页面或500;
方法1需要配置定时任务,每天reload,还需要准备两份不同的配置文件,比较冗余而且需要留意reload是否生效,万一哪天用户名过期就不生效了。
于是使用方法2,只需在需要限制的server里添加如下配置,重载即可。
# 获取本地时间
if ( $time_local ~ "^(\d+)\/(\w+)\/(\d+):(\d+):(\d+):(\d+) \+(\d+)" ) {
set $hour $4;
}
# 指定时间黑名单,如果为指定时间,返回500
if ( $hour ~ 00|01|05|06|07 ) {
return 500;
}
重载nginx
nginx -s reload