Re: nginx доступ к странице по времени

heroin nginx-forum at nginx.us
Fri Apr 5 11:18:09 UTC 2013


Спасибо за ответы.

Подскажите, если nginx -V не выводит в списке ключей
--with-http_perl_module, то перл работать не будет ?

Я прошу прощения за такие вопросы, на nginx смотрю второй день, а задача
стоит приоритетная.
Еще раз всем спасибо.

Vadim Lazovskiy Wrote:
-------------------------------------------------------
> День недели с мапом - никак. На перле что-то примерно такое:
> 
> http {
> 
>         perl_set $forbidden 'sub {
>                 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
> =
> localtime(time);
> 
>                 if($wday > 0 && $wday < 6 && $hour > 9 && $hour < 18)
> {
>                         return 0;
>                 }
> 
>                 return 1;
>         }';
> 
>        server {
>             location ... {
>                   ...
>                   if ($forbidden) {
>                   ...
>                   }
>             }
>        }
> }
> 
> 
> 5 апреля 2013 г., 14:31 пользователь heroin <nginx-forum at nginx.us>
> написал:
> 
> > Спасибо, обновил nginx данный способ работает.
> > А можно узнать как еще в map дни недели подсунуть ?
> > Заранее спасибо.
> >
> > Vadim Lazovskiy Wrote:
> > -------------------------------------------------------
> > > Здравствуйте.
> > >
> > > Начиная с версий 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.
> > >
> > >
> > > 5 апреля 2013 г., 9:15 пользователь heroin <nginx-forum at nginx.us>
> > > написал:
> > >
> > > > Всем добрый день.
> > > >
> > > > Подскажите как ограничить время доступа к странице в nginx ?
> > > > Есть установленный BigBlueButton, нужно чтобы доступ к
> созданному
> > > вебинару
> > > > был только в определенное время, а в другое время выдавалась
> нужная
> > > > заглушка.
> > > > В apache я так понимаю это делается модулем mod_rewrite и
> записью в
> > > > .htaccess в директории с нужной страницей что то вроде
> > > >
> > > > Код:
> > > > RewriteEngine on
> > > >
> > > > RewriteCond %{TIME_HOUR}%{TIME_MIN} > 900
> > > > RewriteCond %{TIME_HOUR}%{TIME_MIN} < 1800
> > > > RewriteRule .* - [ F ]
> > > >
> > > >
> > > > Как сделать в nginx ?
> > > >
> > > > Заранее спасибо.
> > > >
> > > > Posted at Nginx Forum:
> > > > http://forum.nginx.org/read.php?21,238121,238121#msg-238121
> > > >
> > > > _______________________________________________
> > > > nginx-ru mailing list
> > > > nginx-ru at nginx.org
> > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > >
> > >
> > >
> > >
> > > --
> > > Best Regards,
> > > Vadim Lazovskiy
> > > _______________________________________________
> > > nginx-ru mailing list
> > > nginx-ru at nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> > Posted at Nginx Forum:
> > http://forum.nginx.org/read.php?21,238121,238135#msg-238135
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> 
> 
> 
> -- 
> Best Regards,
> Vadim Lazovskiy
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,238121,238138#msg-238138



Подробная информация о списке рассылки nginx-ru