Здравствуйте.
Начиная с версий 1.3.12 и 1.2.7 доступна переменная $time_iso8601 (раньше была только в log_module). Ее можно смапить в флажок доступа:
map $time_iso8601 $hour {
"~\d{4}-\d{2}-\d{2}T(?<h>\d{2}):" $h;
}
map $hour $forbidden {
09 0;
10 0;
11 0;
12 0;
default 1;
}
...
server {
...
location /webinar/ {
error_page 403 /webinar_forbidden.html;
if ($forbidden) {
return 403;
}
}
Можно обойтись и без промежуточной переменной $hour, забив в регулярное выражение нужные часы.
В более старых версиях, imho, только встроенный perl.