Nginx基于時間進行跳轉
一、需求:
晚上6點到早上9點,nginx默認跳轉到一個正在維護的頁
二、創建維護頁面
2.1、查看nignx配置,查看到根目錄映射到/opt/module目錄
location / {
root /opt/module;
charset utf-8;
index index.html index.htm;
proxy_set_header Cookie $http_cookie;
autoindex off;
}
2.2、需要將維護頁面放到/opt/module目錄下,后綴名為html
mkdir /opt/module/weihu
vim /opt/module/weihu/index.html
<h1>系統維護中<h1>
三、nginx配置
server {
listen 7050;
server_name 10.255.33.30;
###修改字符值,解決中文亂碼情況(如果不能解決,在location也要加上)
charset utf-8;
###使用nginx的內置變量獲取系統時間
if ( $time_local ~ "^(d+)/(w+)/(d+):(d+):(d+):(d+) +(d+)" ) {
###獲取到小時
set $hour $4;
}
set $flag true;
###匹配到09為真
if ( $hour ~ "09" ) {
set $flag true;
}
###匹配到10到18為真
if ( $hour = "^1[0-8]" ) {
set $flag true;
}
###當這個變量不為真時,重寫到維護頁面
if ( $flag = false ) {
rewrite (.+) /weihu/index.html;
}
四、網頁測試