Добрый день.<br><br>С HeaderMore я погорячился, у них прямо в доке But variables won't work in header keys due to performance considerations.
<br><br>С $r->header_out<br><br>в pm<br><br>sub test_vars{<br> my $r=shift;<br> my ($key,$value)=('key_rfom_var'.(int(rand(100))),'value from var'.(int(rand(100))));<br> $r->header_out($key,$value);<br>
$r->send_http_header('text/text');<br> $r->print("$key\t$value\n");<br> return OK;<br>}<br><br>в nginx.conf<br><br> location /test_vars {<br> perl charts::test_vars;<br>
}<br><br>ну и telnet localhost 80<br><br>GET /test_vars HTTP/1.1<br>Host: charts.test<br><br>HTTP/1.1 200 OK<br>Server: nginx/1.2.1<br>Date: Thu, 22 Nov 2012 14:31:17 GMT<br>Content-Type: text/text<br>Transfer-Encoding: chunked<br>
Connection: keep-alive<br>key_rfom_var45: value from var5<br><br>1f<br>key_rfom_var45 value from var5<br><br>0<br><br>GET /test_vars HTTP/1.1<br>Host: charts.test<br><br>HTTP/1.1 200 OK<br>Server: nginx/1.2.1<br>Date: Thu, 22 Nov 2012 14:31:22 GMT<br>
Content-Type: text/text<br>Transfer-Encoding: chunked<br>Connection: keep-alive<br>key_rfom_var77: value from var56<br><br>20<br>key_rfom_var77 value from var56<br><br>0<br><br>GET /test_vars HTTP/1.1<br>Host: charts.test<br>
<br>HTTP/1.1 200 OK<br>Server: nginx/1.2.1<br>Date: Thu, 22 Nov 2012 14:31:26 GMT<br>Content-Type: text/text<br>Transfer-Encoding: chunked<br>Connection: keep-alive<br>key_rfom_var29: value from var1<br><br>1f<br>key_rfom_var29 value from var1<br>
<br>0<br><br><br>С уважением.<br><br><div class="gmail_quote">22 ноября 2012 г., 18:16 пользователь Dmitry Zhiltsov <span dir="ltr"><<a href="mailto:zaabjuda@gmail.com" target="_blank">zaabjuda@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">А можно простенький пример?<div><div class="h5"><div><br><div><div>On 22.11.2012, at 15:56, Maksim Anfilatov <<a href="mailto:maksim@woyager.ru" target="_blank">maksim@woyager.ru</a>> wrote:</div>
<br><blockquote type="cite">Добрый день.<br><br>В документации сказано только, что значение может содержать переменные.<br><br><a href="http://nginx.org/en/docs/http/ngx_http_headers_module.html" target="_blank">http://nginx.org/en/docs/http/ngx_http_headers_module.html</a><br>
Adds the specified field to a response header provided that
the response code equals 200, 204, 206, 301, 302, 303, 304, or 307.
A value can contain variables.
<br><br>Если переменные получаются из встроенного перла, то им же можно выставить кастомный header<br><a href="http://nginx.org/en/docs/http/ngx_http_perl_module.html#methods" target="_blank">http://nginx.org/en/docs/http/ngx_http_perl_module.html#methods</a> $r->header_out<br>
<br>Можно еще попробовать HeadersMore <a href="http://wiki.nginx.org/HttpHeadersMoreModule" target="_blank">http://wiki.nginx.org/HttpHeadersMoreModule</a>.<br><br>С уважением.<br><br><div class="gmail_quote">22 ноября 2012 г., 15:32 пользователь Дмитрий Жильцов <span dir="ltr"><<a href="mailto:zaabjuda@gmail.com" target="_blank">zaabjuda@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Здравствуйте.<br><br>Появился вопрос по работе директивы add_header<br><br>Сначала описание задачи.<br><br>Мне необходимо рандомно отдавать клиенту кастомные хидеры из списка<br>
<br>Есть файл в котором на каждой строчке записи вида<br>
<br>$key(имя хидера): $val (содержимое)<br><br>С помощью встроенного перла я получаю две переменные $key и $val , и пытаюсь их применить в директиве add_header<br><br>add_header $key $val <br><br>На клиенте получаю не то , что ожидал<br>
<br>Имя заголовка $key (те nginx не подставляет значение переменной а в имя заголовка подставляет само имя переменной )<br>Тело заголовка как и ожидалось содержит значение переменной $val<br><br>Вопрос - что я делаю не так?<br>
Есть ли у nginx такой функционал?<br>Если нет то какое есть возможное решение?<br><br>Спасибо<br><br><br>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br>
_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote>
</div><br></div></div></div></div><br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br>