Welcome! Log In Create A New Profile

Advanced

Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

April 23, 2014 07:12PM
Здравствуйте!

Есть сайт одной программы, на котором в частности выкладываются ее дистрибутивы.
Пользователям они доступны следующими способами:
1) По ссылкам со страницы sitename.org/downloads/ (редактируемая авторами сайта html с ссылками)
2) Путем просмотра sitename.org/files (список файлов и папок автоматически генерируемый через fancyindex)
3) Прямые ссылки извне.

Стоит задача учитывать скачивания файлов по всем трем ссылкам. Парсинг логов не подходит (используется piwik, а он через логи сильно меньше инфы получает). Поэтому выбрал способ через php скрипт с x-accel-redirect. При этом скачивания через пункт 1 учитываются из коробки, так что они должны быть исключены, чтобы избежать дублей.

Посмотрите, пожалуйста, вырезку из конфигов. files.down - символическая ссылка на files (без этого был циклический редирект. Можно ли без нее?). Все ли я правильно сделал?

nginx.conf:
http {
...
map $http_referer $direct_download {
default 1;
~*sitename.org/files/.* 1;
~*://sitename.org 0;
}
...
server {
...
root /var/www/sitename.org/htdocs;
...
location /files/ {
location ~* /.*?[^/]$ { #Обрабатывает все файлы, но не директории, листинг которых через fancyindex (на конце uri не должен быть / )
if ($direct_download) {
rewrite ^/files/(.*) /down.php?path=$1 last;
}
}
root /var/www/sitename.org/;

fancyindex on;
fancyindex_exact_size off;

aio on;
directio 512;
output_buffers 1 128k;
}
location /files.down/ {
root /var/www/sitename.org/;

aio on;
directio 512;
output_buffers 1 128k;
internal;
}

}}

ну и down.php:

<?php
...
// And redirect user to internal location
header("Content-Type: application/octet-stream");
header("X-Accel-Redirect: /files.down/" . $path);
?>

Заранее спасибо всем откликнувшимся.
Subject Author Posted

Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

iprok April 23, 2014 07:12PM

Re: Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

Илья Шипицин April 24, 2014 01:08AM

Re: Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

iprok April 24, 2014 03:09AM

Re: Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

Илья Шипицин April 24, 2014 05:08AM

Re: Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

Ruslan Ermilov April 24, 2014 03:44AM

Re: Хитрый учет скачиваемых по прямым ссылкам файлов (nginx + piwik)

iprok April 24, 2014 04:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 148
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready