x-accel-redirect
Posted: Sat Jun 04, 2016 9:42 am
Здравствуйте. ОС Debian 8.0. В файл /home/user/conf/web/nginx.conf добавил следующее
чтобы использовать x-accel-redirect в php вот так:
Проблема в том, что, когда урл такого вида site.ru/path_to_file.mp3 - все работает нормально, но когда в путь добавляется еще один слеш или слеши, то не работает: site.ru/path/path_to_file.mp3
Почему так? по идее в коде
(.*) - должно включать в себя слеши? На другом хостинге под управлением другой панели этот код работает нормально, я, кончено, понимаю, что дело не в панеле, а, видимо, в каких-то настройках, помогите решить эту проблему.
Code: Select all
location ~* ^/internal_redirect/(.*?)/(.*) {
internal;
access_log /var/log/internal_redirect.access.log;
error_log /var/log/internal_redirect.error.log;
# If you use variables in proxy pass you need to
# tell nginx how to resolve your host
# otherwise you will get 502 errors
# you could also use google 8.8.8.8
resolver 8.8.8.8;
proxy_buffering off;
proxy_set_header Content-Length "";
proxy_set_header Cookie "";
proxy_hide_header x-amz-request-id;
proxy_hide_header x-amz-meta-uid;
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-meta-mode;
proxy_hide_header x-amz-meta-mtime;
proxy_hide_header x-amz-meta-gid;
proxy_hide_header x-amz-version-id;
proxy_hide_header accept-ranges;
# Do not touch local disks when proxying
# content to clients
proxy_method GET;
proxy_pass_request_body off;
proxy_max_temp_file_size 0;
set $download_host $1;
set $download_uri $2;
set $download_url http://$download_host/$download_uri;
#add_header x-by "$instance_id:s3";
proxy_pass $download_url;
}
Code: Select all
header("X-Accel-Redirect: /internal_redirect/site.ru/path_to_file.mp3");
Почему так? по идее в коде
Code: Select all
location ~* ^/internal_redirect/(.*?)/(.*)