Re: nginx доступ к странице по времени
Vadim Lazovskiy
vadim.lazovskiy at gmail.com
Fri Apr 5 10:57:04 UTC 2013
День недели с мапом - никак. На перле что-то примерно такое:
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130405/d929613b/attachment.html>
Подробная информация о списке рассылки nginx-ru