Re: добавление переменных

2013-04-03 Пенетрантность Oleg
On Thu, Apr 04, 2013 at 01:31:38AM +0400, Валентин Бартенев wrote:
> On Thursday 04 April 2013 01:04:24 Oleg wrote:
> > On Wed, Apr 03, 2013 at 11:24:18PM +0400, Валентин Бартенев wrote:
> > > On Wednesday 03 April 2013 23:06:28 Oleg wrote:
> > > >   Всем привет.
> > > >   
> > > >   Хочется добавлять переменные не перед конфигурацией процесса, а
> > > > 
> > > > в процессе обработки запроса. Такое возможно? Везде, где нашёл описание
> > > > создания переменных, написано, что только в preconfiguration можно.
> > > > 
> > > >   Я так понимаю, что $cookie_* и $http_* динамически создаются?
> > > 
> > > Советую использовать grep src/.
> > 
> >   А разве есть какой-то другой способ :-)?
> > 
> > > У этих переменных отдельные хуки в ngx_http_get_variable():
> > > http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http_variabl
> > > es.c#L569
> > 
> >   Это я видел.
> >   Т.е. цивильного способа, не выходя за пределы модуля, такую переменную
> > использовать нет? Надо ngx_http_get_variable править?
> > 
> 
> А для чего вам ещё одна magic-переменная, если не секрет?

  У меня есть модуль аутентификации, который после своей работы должен
создавать некоторые переменные, в случае удачной аутентификации. Например,
$my_user, $my_http_addr, $my_http_port, где последнии два используются для
обратного прокси. Т.к. возможны конфигурации, где некоторых переменных нет,
а при старте nginx не известно, какой набор данных есть для каждого
пользователя, то не хотелось бы заранее забивать жёстко в исходник все
возможные переменные.
  Можно, конечно, формировать такой список переменных через конфиг, вроде:

  my_module_need_var "var1";
  my_module_need_var "var2";

  И уже при старте nginx создавать обычным образом только то, что указано в
конфиге явно. Но мне это кажется не красивым.

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: добавление переменных

2013-04-03 Пенетрантность Валентин Бартенев
On Thursday 04 April 2013 01:04:24 Oleg wrote:
> On Wed, Apr 03, 2013 at 11:24:18PM +0400, Валентин Бартенев wrote:
> > On Wednesday 03 April 2013 23:06:28 Oleg wrote:
> > >   Всем привет.
> > >   
> > >   Хочется добавлять переменные не перед конфигурацией процесса, а
> > > 
> > > в процессе обработки запроса. Такое возможно? Везде, где нашёл описание
> > > создания переменных, написано, что только в preconfiguration можно.
> > > 
> > >   Я так понимаю, что $cookie_* и $http_* динамически создаются?
> > 
> > Советую использовать grep src/.
> 
>   А разве есть какой-то другой способ :-)?
> 
> > У этих переменных отдельные хуки в ngx_http_get_variable():
> > http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http_variabl
> > es.c#L569
> 
>   Это я видел.
>   Т.е. цивильного способа, не выходя за пределы модуля, такую переменную
> использовать нет? Надо ngx_http_get_variable править?
> 

А для чего вам ещё одна magic-переменная, если не секрет? Если не выходя за
пределы модуля, то можно исхитриться и сделать две переменные так:

  set $var_key "abc";
  return 200 $var_value;

$var_value будет возвращать значение для имени записанного в $var_key.

Получится некий аналог с более сложным доступом.
 
--
Валентин Бартенев
http://nginx.org/en/donation.html
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: добавление переменных

2013-04-03 Пенетрантность Oleg
On Wed, Apr 03, 2013 at 11:24:18PM +0400, Валентин Бартенев wrote:
> On Wednesday 03 April 2013 23:06:28 Oleg wrote:
> >   Всем привет.
> > 
> >   Хочется добавлять переменные не перед конфигурацией процесса, а
> > в процессе обработки запроса. Такое возможно? Везде, где нашёл описание
> > создания переменных, написано, что только в preconfiguration можно.
> >   Я так понимаю, что $cookie_* и $http_* динамически создаются?
> > 
> 
> Советую использовать grep src/.

  А разве есть какой-то другой способ :-)? 

> У этих переменных отдельные хуки в ngx_http_get_variable():
> http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http_variables.c#L569

  Это я видел.
  Т.е. цивильного способа, не выходя за пределы модуля, такую переменную
использовать нет? Надо ngx_http_get_variable править?

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: добавление переменных

2013-04-03 Пенетрантность Валентин Бартенев
On Wednesday 03 April 2013 23:06:28 Oleg wrote:
>   Всем привет.
> 
>   Хочется добавлять переменные не перед конфигурацией процесса, а
> в процессе обработки запроса. Такое возможно? Везде, где нашёл описание
> создания переменных, написано, что только в preconfiguration можно.
>   Я так понимаю, что $cookie_* и $http_* динамически создаются?
> 

Советую использовать grep src/.

У этих переменных отдельные хуки в ngx_http_get_variable():
http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http_variables.c#L569

Переменные можно добавлять и во время конфигурации, смотрите например
как работает директива set из rewrite-модуля.

--
Валентин Бартенев
http://nginx.org/en/donation.html
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

добавление переменных

2013-04-03 Пенетрантность Oleg
  Всем привет.

  Хочется добавлять переменные не перед конфигурацией процесса, а
в процессе обработки запроса. Такое возможно? Везде, где нашёл описание
создания переменных, написано, что только в preconfiguration можно.
  Я так понимаю, что $cookie_* и $http_* динамически создаются?

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: SSI: flastmod, fsize

2013-04-03 Пенетрантность Валентин Бартенев
On Wednesday 03 April 2013 21:55:14 Matwey V. Kornilov wrote:
> Привет,
> 
> Выглядит так, как-будто модуль SSI не поддерживает директивы #flastmod и
> #fsize. Интересно, почему. Сложно реализовать? Чрезмерные затраты? Никому
> не нужно?
> 

ИМХО крайне редко функциональность, если я не ошибся с запросом, то похоже за 
всю историю существования рассылки и форума спрашивал только один человек:
https://www.google.com/search?q=%23flastmod+OR+%23fsize+site%3Anginx.org

На SO нашлось всего 5 вопросов в которых хоть как-то упомянуты эти SSI команды,
и все эти вопросы не связаны с nginx. На SF похоже вообще нет упоминаний.

Да и странно на такое подзапрос делать. В вашем случае, например, оно как 
используется?

--
Валентин Бартенев
http://nginx.org/en/donation.html



> Это создает некоторые проблемы при переносе некоторого простенького сайта с
> lighttpd.
> 
> 
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

SSI: flastmod, fsize

2013-04-03 Пенетрантность Matwey V. Kornilov

Привет,

Выглядит так, как-будто модуль SSI не поддерживает директивы #flastmod и 
#fsize. Интересно, почему. Сложно реализовать? Чрезмерные затраты? Никому не 
нужно?

Это создает некоторые проблемы при переносе некоторого простенького сайта с 
lighttpd.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.3.15

2013-04-03 Пенетрантность Maxim Konovalov
On 4/3/13 5:48 PM, Anatoly Mikhailov wrote:
> 
> On Apr 3, 2013, at 2:18 PM, Maxim Konovalov  wrote:
> 
>> On 3/28/13 2:46 PM, Maxim Konovalov wrote:
>>> On 3/28/13 1:31 PM, Nikita Stupin wrote:
 Добрый день.

 Валентин, а планируется на http://nginx.org/packages/ubuntu/
 выкладывать сборки и development ветки?

>>> Планируется, работаем над этим.
>>>
>> http://mailman.nginx.org/pipermail/nginx/2013-April/038389.html
> 
> насколько я понимаю, проект wiki.nginx.org никак не аффилирован
> и вообще не связан с Nginx, Inc.
> 
А как это связано с пакетами?

-- 
Maxim Konovalov
+7 (910) 4293178
http://nginx.com/services.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.3.15

2013-04-03 Пенетрантность Anatoly Mikhailov

On Apr 3, 2013, at 2:18 PM, Maxim Konovalov  wrote:

> On 3/28/13 2:46 PM, Maxim Konovalov wrote:
>> On 3/28/13 1:31 PM, Nikita Stupin wrote:
>>> Добрый день.
>>> 
>>> Валентин, а планируется на http://nginx.org/packages/ubuntu/
>>> выкладывать сборки и development ветки?
>>> 
>> Планируется, работаем над этим.
>> 
> http://mailman.nginx.org/pipermail/nginx/2013-April/038389.html

насколько я понимаю, проект wiki.nginx.org никак не аффилирован
и вообще не связан с Nginx, Inc.

> 
> -- 
> Maxim Konovalov
> +7 (910) 4293178
> http://nginx.com/services.html
> 
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.3.15

2013-04-03 Пенетрантность Maxim Konovalov
On 3/28/13 2:46 PM, Maxim Konovalov wrote:
> On 3/28/13 1:31 PM, Nikita Stupin wrote:
>> Добрый день.
>>
>> Валентин, а планируется на http://nginx.org/packages/ubuntu/
>> выкладывать сборки и development ветки?
>>
> Планируется, работаем над этим.
> 
http://mailman.nginx.org/pipermail/nginx/2013-April/038389.html

-- 
Maxim Konovalov
+7 (910) 4293178
http://nginx.com/services.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: resolver cname ttl

2013-04-03 Пенетрантность Maxim Dounin
Hello!

On Wed, Apr 03, 2013 at 11:25:55AM +0400, Xek PL wrote:

> Привет всем!
> 
> Такая проблема: resolver не учитывает TTL для CNAME записей.
> 
> Например,в DNS указано:
> upstream 60 CNAME cname1
> cname1  86400 A 10.10.10.10
> 
> По тестам получается, что upstream резолвится раз в сутки.
> Хотя должен раз в 60 сек.
> 
> Протестировал на версиях 1.2.7, 1.3.15
> Баг? 
> Или есть какие-то соображения для такой работы?

Во встроенном резолвере не очень хорошо сделана обработка 
нескольких записей в одном DNS-ответе, и в частности в 
вышеописанном случае, если обе записи приходят вместе - то CNAME 
будет "пропущен", и кеш resolver'а попадёт сразу адрес, с ttl 
86400.

Простой workaround - использовать

resolver ... valid=30s;

См. http://nginx.org/r/resolver.

Если не лень - было бы полезно нарисовать тикет в trac'е, 
http://trac.nginx.org.  Если проблема очень болит и мешает 
ходить - приходите на http://nginx.com, договоримся.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: resolver cname ttl

2013-04-03 Пенетрантность Dmitry Ivanov
Здравствуйте, Xek.

Вы писали 3 апреля 2013 г., 11:25:55:

> Такая проблема: resolver не учитывает TTL для CNAME записей.

> Протестировал на версиях 1.2.7, 1.3.15
> Баг? 
> Или есть какие-то соображения для такой работы?

ИМХО, это by design у bind и nginx тут не при чем.

Наверняка при reload'e бинда возникает [1]. Похожая история [2]

Я с этим сталкивался (правда для TXT). Инфа есть тут (но там нет
про CNAME) [3]

[1] http://marc.info/?l=bind-users&m=98864612614783&w=2
[2] https://lists.isc.org/pipermail/bind-users/2004-January/048216.html
[3] http://www.netwidget.net/books/apress/dns/info/ttl.html
-- 
С уважением,
 Dmitry  mailto:nginx...@sadok.spb.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: resolver cname ttl

2013-04-03 Пенетрантность Илья Шипицин
соображение ровно одно, для установления соединения с бекендом нужен
адрес, поэтому в момент чтения конфигурации имена ресолвятся в адреса
(обращение к ресолверу заблокирует worker-процесс).

закешировать внутри worker-процесса строго в соответствии с TTL
возможности нет, но можно сделать лайфхак и ресолвить при каждом
обращении:

set $noop "";
proxy_pass http://some.host$noop;

3 апреля 2013 г., 13:25 пользователь Xek PL  написал:
> Привет всем!
>
> Такая проблема: resolver не учитывает TTL для CNAME записей.
>
> Например,в DNS указано:
> upstream 60 CNAME cname1
> cname1  86400 A 10.10.10.10
>
> По тестам получается, что upstream резолвится раз в сутки.
> Хотя должен раз в 60 сек.
>
> Протестировал на версиях 1.2.7, 1.3.15
> Баг?
> Или есть какие-то соображения для такой работы?
>
>
> Удачи,
> Павел
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: UserDir и отдача файлов напрямую

2013-04-03 Пенетрантность Victor Sudakov
Anton Yuzhaninov wrote:
> > Чтобы отдавать
> > видеоролики без участия апача, написал в конфиге сервера:
> >
> > location ~* ^.+\.(avi|flv)$ {
> >   root /home/www/data ;
> >   expires 30d;
> > }
> >
> > Файлы по ссылке вида http://site.ru/some/dir/file.flv  теперь отдаются 
> > напрямую.
> >
> > Но проблема в том, что в backend-e включены UserDir, и надо чтобы
> > http://site.ru/~pupkin/some/dir/file.flv  тоже работало. Как бы это
> > покрасивее сконфигурить?
> 
> Проще всего проксировать http://site.ru/~ на апач:
> 
> location ~* ^.+\.(avi|flv)$ {
>   root /home/www/data ;
>   expires 30d;
> }
> 
> location ^~ /~ {
> proxy_pass ...;
> }

Я пока так сделал:


location / {
proxy_pass  http://127.0.0.1:8418;
proxy_set_headerHost$host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ /~ {
proxy_pass  http://127.0.0.1:8418;
proxy_set_headerHost$host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* \.(avi|flv|mov|mp3|mpg|pdf|pps|ppt|psd|rar|rtf|swf|wmv|zip|doc)$ {
root /home/www/data ;
expires 30d;
}

> 
> Но можно заморочаться и сэмулировать поведение UserDir средствами
> nginx, хотя это будет сложнее.

Хотелось бы, чтобы .flv и прочее из юзерских каталогов тоже
отдавалось бы nginx-ом напрямую.

Можно взять за основу http://wiki.nginx.org/UserDir и творчески
переработать, но вдруг у кого уже готовое есть и поделиться не жалко.


-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:suda...@sibptus.tomsk.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: UserDir и отдача файлов напрямую

2013-04-03 Пенетрантность Anton Yuzhaninov

On 04/03/13 06:25, Victor Sudakov wrote:

Чтобы отдавать
видеоролики без участия апача, написал в конфиге сервера:

location ~* ^.+\.(avi|flv)$ {
  root /home/www/data ;
  expires 30d;
}

Файлы по ссылке вида http://site.ru/some/dir/file.flv  теперь отдаются напрямую.

Но проблема в том, что в backend-e включены UserDir, и надо чтобы
http://site.ru/~pupkin/some/dir/file.flv  тоже работало. Как бы это
покрасивее сконфигурить?


Проще всего проксировать http://site.ru/~ на апач:

location ~* ^.+\.(avi|flv)$ {
 root /home/www/data ;
 expires 30d;
}

location ^~ /~ {
   proxy_pass ...;
}

Но можно заморочаться и сэмулировать поведение UserDir средствами nginx, хотя 
это будет сложнее.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

resolver cname ttl

2013-04-03 Пенетрантность Xek PL
Привет всем!

Такая проблема: resolver не учитывает TTL для CNAME записей.

Например,в DNS указано:
upstream 60 CNAME cname1
cname1  86400 A 10.10.10.10

По тестам получается, что upstream резолвится раз в сутки.
Хотя должен раз в 60 сек.

Протестировал на версиях 1.2.7, 1.3.15
Баг? 
Или есть какие-то соображения для такой работы?


Удачи,
Павел

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru