Лучше пересобрать nginx «под себя», это несложно. Когда то решал такую задачу именно через random_index, а потом дописал в модуль set_misc функцию set_random var min max; которой отдавать случайный файл по URL гораздо удобнее. Использовал кстати это для ротации статических заранее сохраненных html блоков.
Сейчас думаем изменить политику ротации (потому что из 5ти блоков рандомно часто подрядо одинаковые показывает). Сделал команду set_rotate var from to; и отправил pull request разработчику модуля set_misc. С помощью этой команды легко делается ротация блоков по порядку, значение последнего показанного блока можно сохранять в Cookies