Nginx (openresty) генерирует случайные числа
Я установил openresty на сервер (пакет nginx, который включает в себя модуль lua), и я пытаюсь создать сценарий, который имеет определенные шансы установки cookie в браузере пользователя. Мой код выглядит так:
location =/index.php {
set $random_num 0;
rewrite_by_lua '
marth.randomseed(1);
nvx.var.random_num = math.random(0,3);
';
add_header Set-Cookie "random_num=$random_num; path=/; domain=...com;";
}
Я знаю, что моя функция случайного начального числа на самом деле не очень случайна, но я решила, что буду иметь дело с этим позже. В данный момент я просто пытаюсь заставить nginx установить случайное число, но при этом выдает эту ошибку:
2012/07/11 11:27:20 [error] 5492#0: *44 lua handler aborted: runtime error: [string "rewrite_by_lua"]:3: attempt to ind
ex global 'marth' (a nil value)
stack traceback:
Может кто-нибудь сказать мне, что я делаю неправильно, и есть ли другой способ получить случайное число в nginx?
1 ответ
Решение
Судя по вашей записи в журнале ошибок, у вас есть простая опечатка.
marth.randomseed(1);
Это должно читать:
math.randomseed(1);