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