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);
Другие вопросы по тегам