Недавно переезжал на новый сервер и переносил один старый Django проект (на 1.2 еще) с cherokee+uwsgi на nginx+fscgi (скорость не нужна) Но была у этого проекта одна особенность, у него были местами русские буквы в ссылках. На cherokee все работало замечательно, на nginx сайт тоже запустился без проблем (хвала vierualenv), но при тыкании сайта, все ссылки с русским не работали, падали в 404, что не подходят ни по одному паттерну.
Пошел копать и дебажить, для этого добавил в джанго проект мелкую middleware, которая логировала request.path. Через пару запросов увидел, что на debug сервере и на cherokee, в request.path приходят русские буквы не экранированные ничем и не заквоченые (unquote, незнаю как по русски) (типа /goods/all/салфетки), а с nginx они вида /goods/all/%D0%91%D0%B5%D0%BB%D0%B8%D0%B7%D0%BD%D0%B0.
Для решения проблемы, оказалось надо поменять 1 fastcgi параметр в nginx:
fastcgi_param REQUEST_URI $request_uri;
заменить на
fastcgi_param REQUEST_URI $uri;
И все стало работать как надо. Потратил на дебаг минут 40 :(