Вопрос в догонку, чтобы отдавать статический контент с такими кастомными заголовками необходимо же делать internal rewrite?
On 22.11.2012, at 18:33, Maksim Anfilatov <maksim@xxxxxxxxxx> wrote:
Добрый день.
С HeaderMore я погорячился, у них прямо в доке But variables won't work in header keys due to performance considerations.
С $r->header_out
в pm
sub test_vars{ my $r=shift; my ($key,$value)=('key_rfom_var'.(int(rand(100))),'value from var'.(int(rand(100)))); $r->header_out($key,$value);
$r->send_http_header('text/text'); $r->print("$key\t$value\n"); return OK; }
в nginx.conf
location /test_vars { perl charts::test_vars;
}
ну и telnet localhost 80
GET /test_vars HTTP/1.1 Host: charts.test
HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Thu, 22 Nov 2012 14:31:17 GMT Content-Type: text/text Transfer-Encoding: chunked
Connection: keep-alive key_rfom_var45: value from var5
1f key_rfom_var45 value from var5
0
GET /test_vars HTTP/1.1 Host: charts.test
HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Thu, 22 Nov 2012 14:31:22 GMT
Content-Type: text/text Transfer-Encoding: chunked Connection: keep-alive key_rfom_var77: value from var56
20 key_rfom_var77 value from var56
0
GET /test_vars HTTP/1.1 Host: charts.test
HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Thu, 22 Nov 2012 14:31:26 GMT Content-Type: text/text Transfer-Encoding: chunked Connection: keep-alive key_rfom_var29: value from var1
1f key_rfom_var29 value from var1
0
С уважением.
22 ноября 2012 г., 18:16 пользователь Dmitry Zhiltsov <zaabjuda@xxxxxxxxx> написал:
А можно простенький пример?
On 22.11.2012, at 15:56, Maksim Anfilatov <maksim@xxxxxxxxxx> wrote:
Добрый день.
В документации сказано только, что значение может содержать переменные.
22 ноября 2012 г., 15:32 пользователь Дмитрий Жильцов <zaabjuda@xxxxxxxxx> написал:
Здравствуйте.
Появился вопрос по работе директивы add_header
Сначала описание задачи.
Мне необходимо рандомно отдавать клиенту кастомные хидеры из списка
Есть файл в котором на каждой строчке записи вида
$key(имя хидера): $val (содержимое)
С помощью встроенного перла я получаю две переменные $key и $val , и пытаюсь их применить в директиве add_header
add_header $key $val
На клиенте получаю не то , что ожидал
Имя заголовка $key (те nginx не подставляет значение переменной а в имя заголовка подставляет само имя переменной ) Тело заголовка как и ожидалось содержит значение переменной $val
Вопрос - что я делаю не так?
Есть ли у nginx такой функционал? Если нет то какое есть возможное решение?