Здравствуйте, AleXXX.
Спасибо. Нашел в рассылке примеры с post_action.
Настроил. Но появились вопросы.
У меня файл выдается через скрипт пример
http://192.168.4.4/get_file.php?file=myFile.mp3&sessonID ,потом скрипт
X-Accel-Redirect: /ptest/myFile.mp3?sessonID
С приведенным конфигом post_action.php получает: 1.$body_bytes_sent,
2.$http_range, 3.$orig_args (sessonID) по которым я могу определить на
сколько файл был скачан конкретный файл определенным пользователем.
ВОПРОС: Почему $body_bytes_sent не работает в "location / {
proxy_pass http://127.0.0.1:8888/; ..."?
Через "location /download-stop { rewrite ^
/post_action.php?bs=$body_bytes_sent" - работает.
server {
listen 192.168.4.4:80;
location /ptest/ {
root /home/www/nginx_test/;
internal;
set $orig_args $args;
post_action /download-stop;
}
location /download-stop
{
rewrite ^
/post_action.php?bs=$body_bytes_sent&http_range=$http_range&$orig_args;
}
location / {
proxy_pass http://127.0.0.1:8888/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Вы писали 20 ноября 2007 г., 13:41:27:
> смотрите post_action
> в этой рассылке есть много готовых примеров
> Tue, 20 Nov 2007 13:30:28 +0300
> Алексей Кузьмин <ak@xxxxxx> писал(а):
АК>> Здравствуйте, nginx-ru.
АК>>
АК>> Я хочу чтобы nginx когда закрывается соединение по передачи файлов
АК>> определенного типа, записывал имя файла и кол-во переданных байт
АК>> клиенту в базу с ID клиента переданным через http.
АК>>
АК>> Задача несложная, нужно добавить код который будет подключаться к БД и
АК>> записывать в нее значение на котором остановилась передача.
АК>>
АК>> Вопрос в том в как это лучше добавить в nginx?
АК>>
АК>> Готовых модулей с такой функциональностью не нашел.
АК>>
АК>> Трафик планируется не большой около 10 Мбит, считаю подключение к БД
АК>> не должно сказаться на скорость отдачи.
АК>>
АК>>
АК>>
АК>> --
АК>> С уважением,
АК>> Алексей mailto:ak@xxxxxx
АК>>
--
С уважением,
Алексей mailto:ak@xxxxxx