The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Не отрабатывает 'X-Sendfile' на лайти."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"Не отрабатывает 'X-Sendfile' на лайти."  +/
Сообщение от Rom1 (ok) on 23-Ноя-10, 19:04 
В корне сайта лежит файл 1.php:
<?php

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"test.file\"\n");
header("X-Sendfile: /test.file");

?>

На запрос 1.php должен вернуться файл, но в ответе или нулевая строчка с Content-length или её вообще нет.
Такое впечатление что то-ли файл /test.file не находит то-ли чего-то надо еще в конфиге включить.

Никто не сталкивался?

Output    66    20:57:14    23.11.2010    GET /1.php HTTP/1.0
Output    66            User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Output    66            Accept: */*
Output    66            Referer: http://*************/
Output    66            Host: ***************
Input    67    20:57:14    23.11.2010    HTTP/1.0 200 OK
Input    67            Connection: close
Input    67            X-Powered-By: PHP/5.2.6-1+lenny3
Input    67            Content-type: application/octet-stream
Input    67            Content-Disposition: attachment; filename="test.file"
Input    67            Date: Tue, 23 Nov 2010 15:57:35 GMT
Input    67            Server: lighttpd/1.4.19

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Не отрабатывает 'X-Sendfile' на лайти."  +/
Сообщение от Aquarius (ok) on 23-Ноя-10, 23:50 
> header("Content-type: application/octet-stream");
> header("Content-Disposition: attachment; filename=\"test.file\"\n");
> header("X-Sendfile: /test.file");

это всего-лишь заголовки, сервер их только передает
P.S. а, пардон, оказывается, есть модуль mod_xsendfile для apache2, как на счет его наличия и настройки?

>[оверквотинг удален]
> Output 66   Accept: */*
> Output 66   Referer: http://*************/
> Output 66   Host: ***************
> Input 67 20:57:14 23.11.2010 HTTP/1.0 200 OK
> Input 67   Connection: close
> Input 67   X-Powered-By: PHP/5.2.6-1+lenny3
> Input 67   Content-type: application/octet-stream
> Input 67   Content-Disposition: attachment; filename="test.file"
> Input 67   Date: Tue, 23 Nov 2010 15:57:35 GMT
> Input 67   Server: lighttpd/1.4.19

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Не отрабатывает 'X-Sendfile' на лайти."  +/
Сообщение от Rom1 (ok) on 24-Ноя-10, 07:27 
> это всего-лишь заголовки, сервер их только передает

Это заголовки, которые возвращает модуль mod_fastcgi обратно в лайти после отработки, тот же в свою очередь, анализирует их, и если есть "X-Sendfile:" - читает указанный файл и отправляет его на удалённую сторону.

> P.S. а, пардон, оказывается, есть модуль mod_xsendfile для apache2, как на счет
> его наличия и настройки?

Я не спрашивал про apache2, я говорю про lighttpd.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Не отрабатывает 'X-Sendfile' на лайти."  +/
Сообщение от Aquarius (ok) on 24-Ноя-10, 11:41 
>> это всего-лишь заголовки, сервер их только передает
> Это заголовки, которые возвращает модуль mod_fastcgi обратно в лайти после отработки, тот
> же в свою очередь, анализирует их, и если есть "X-Sendfile:" -
> читает указанный файл и отправляет его на удалённую сторону.

а опция allow-x-sendfile задействована?

>> P.S. а, пардон, оказывается, есть модуль mod_xsendfile для apache2, как на счет
>> его наличия и настройки?
> Я не спрашивал про apache2, я говорю про lighttpd.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Не отрабатывает 'X-Sendfile' на лайти."  +/
Сообщение от Rom1 (ok) on 24-Ноя-10, 11:47 
> а опция allow-x-sendfile задействована?

Вот, до неё уже докопался, но никак не могу понять как и куда её прикрутить.

В lighttpd.conf строчку добавлял: server.allow-x-sendfile = 1
Не возвращает файл.

В секцию fastcgi.server модуля mod_fastcgi писал - ошибка при запуске лайти.

В lighttpd.conf строчку добавлял: proxy-core.allow-x-sendfile = "enable"
Не могу понять каким боком тут прокси вообще, но тоже не работает.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Не отрабатывает 'X-Sendfile' на лайти."  +/
Сообщение от Rom1 (ok) on 24-Ноя-10, 14:26 
Короче ошибся с синтаксисом, когда писал в fastcgi.conf
Но и там есть грабли, помогла ссылка http://blog.lighttpd.net/articles/2006/07/02/x-sendfile там человечек чуть подправил опции:

"allow-x-send-file" => "enable"
"allow-x-sendfile" => "enable"

Вот конфиг fastcgi.conf:

server.modules   += ( "mod_fastcgi" )

fastcgi.server    = ( ".php" =>.
<------>((
<------><------>"bin-path" => "/usr/bin/php-cgi",
<------><------>"socket" => "/tmp/php.socket",
<------><------>"max-procs" => 2,
<------><------>"idle-timeout" => 20,
<------><------>"bin-environment" => (.
<------><------><------>"PHP_FCGI_CHILDREN" => "4",
<------><------><------>"PHP_FCGI_MAX_REQUESTS" => "10000"
<------><------>),
<------><------>"bin-copy-environment" => (
<------><------><------>"PATH", "SHELL", "USER"
<------><------>),
<------><------>"broken-scriptfilename" => "enable",
<------><------>"allow-x-send-file" => "enable",
<------><------>"allow-x-sendfile" => "enable"
<------>))
)

Всё работает, спасибо всем.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру