Перейти к контенту
  • 0

Не отдаются прикрепленные файлы


zilk

Вопрос

форум ipb 2.3.6, не отдаются прикрепленные файлы,

в браузере ошибка 500 Internal Server Error

 

в логах nginx вот такая ошибка

2010/10/04 10:11:41 [error] 31191#0: *58313866 rewrite or internal redirection cycle while internal redirect to "/uploads/monthly_06_2010/post-150506-1276355481.ipb" while reading response header from upstream, client: 87.224.*.*, server: domain.com, request: "GET /index.php?section=content&act=attach&type=post&id=120129 HTTP/1.1", upstream: "http://178.63.*.*:8080/index.php?section=content&act=attach&type=post&id=120129", host: "domain.com", referrer: "http://domain.com/admin/index.php?adsess=9110d010cc331c6f0768c2932ba679c0"

 

если зайти по ссылке на скачивание файла по порту 8080, то файл отдается но он пустой (0 байт)

 

Не работают видео файлы: .wmv .mpg, при этом прикрепленные картинки работают без проблем.

 

Если скачать файл по фтп он скачивается и работает без проблем.

 

Специалист занимающийся настройкой сервера говорит, что проблема в скриптах:

скрипт пытается делать перенаправление, а там оно не срабатыват и снова на тот же скрипт

вот и получается бесконечный цикл

 

Подскажите пожалуйста куда копать, в стандартных проблемах прикрепленных файлов ответа не нашел.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Конфиг nginx был бы кстати, ваш специалист должен знать :-)
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Конфиг nginx был бы кстати, ваш специалист должен знать :-)

 

Проблема может быть в nginx, даже есть при попытке загрузить файл напрямую с апача по ссылке http://name.com:8080/ссылка_на_скачивание пустой файл?

 

Вот логи апача при попытке скачивания файла:

 

При скачивании напрямую через апач на порту 8080

88.86.*.* - - [04/Oct/2010:17:29:51 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"

 

При обычном скачивании появляется 11 таких строчек в логе

88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"
88.86.*.* - - [04/Oct/2010:17:30:26 +0400] "GET /index.php?section=content&act=attach&type=post&id=101826 HTTP/1.0" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13"

Изменено пользователем zilk
Ссылка на комментарий
Поделиться на других сайтах

  • 0

11 строчек это есть тот запиленный редирект, предлагается для начала разобраться со скачиванием через апач, почему он отдает пустой файл

когда апач станет работать правильно, будем смотреть, виноват ли nginx вообще

Ссылка на комментарий
Поделиться на других сайтах

  • 0

11 строчек это есть тот запиленный редирект, предлагается для начала разобраться со скачиванием через апач, почему он отдает пустой файл

когда апач станет работать правильно, будем смотреть, виноват ли nginx вообще

Я и пытаюсь разобраться, как я понял проблема со скриптами форума? Посоветуйте, что смотреть.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Посомтрите, зависит ли это от объёма прикреплённого файла. Возьмите файл /uploads/monthly_06_2010/post-150506-1276355481.ipb, скачайте по FTP и замените расширение на оригинальное -- будет проигрываться?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Посомтрите, зависит ли это от объёма прикреплённого файла. Возьмите файл /uploads/monthly_06_2010/post-150506-1276355481.ipb, скачайте по FTP и замените расширение на оригинальное -- будет проигрываться?

При скачивании файла просто по ссылке domain.com/uploads/monthly_06_2010/post-150506-1276355481.ipb или через фпт и замене расширения он проигрывается.

 

От размера файла зависимости нет, не работают файлы размером менее 0.5Мб. При этом прикрепленные картинки по несколько мегабайт загружаются и работают.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

тоесть зависит от типа файла?

может надо научить апач выдавать тип файлов .ipb

По ссылке domain.com/uploads/monthly_06_2010/post-150506-1276355481.ipb апач и nginx отдают этот файл без ошибок.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

хорошо) тогда надо смотреть, какие заголовки говорит ипб при выдаче через скрипт

 

Вот например посмотрел через firebug, эти заголовки?

 

Заголовки ответа

Date	Tue, 05 Oct 2010 11:18:30 GMT
Server	Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
X-Powered-By	PHP/5.2.6-1+lenny8
Content-Disposition	inline; filename="Mov0014.wmv"
X-Accel-Redirect	/uploads/monthly_05_2010/post-219121-1275203961.ipb
Content-Length	0
Keep-Alive	timeout=15, max=99
Connection	Keep-Alive
Content-Type	video/x-msvideo

 

 

Заголовки запроса

Host	domain.com:8080
User-Agent	Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding	gzip,deflate
Accept-Charset	windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive	115
Connection	keep-alive
Cookie	member_id=******; forum_read=******

Изменено пользователем zilk
Ссылка на комментарий
Поделиться на других сайтах

  • 0

да, эти, да нашел проблему

Content-Length 0

сейчас посмотрю, как там в 2.3.х

 

sources\classes\attach\class_attach.php

header( "Content-Length: ".(string)(filesize( $file ) ) )

вот такой код должен быть, его можно проверить

перед ним найти

// Open and display the file..

и добавить

print filesize( $file );
exit;

и посмотреть, считается ли размер

Ссылка на комментарий
Поделиться на других сайтах

  • 0

да, эти, да нашел проблему

Content-Length 0

сейчас посмотрю, как там в 2.3.х

 

sources\classes\attach\class_attach.php

header( "Content-Length: ".(string)(filesize( $file ) ) )

вот такой код должен быть, его можно проверить

перед ним найти

// Open and display the file..

и добавить

print filesize( $file );
exit;

и посмотреть, считается ли размер

 

Сделал, размер считается, вместо скачивания файла выводится размер файла.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

хорошо, теперь

print (string)(filesize( $file ) );

Так тоже работает показывает размер файла.

 

Закомментировал в этом файле код

if (!empty($GLOBALS['INFO']['upload_nginx_redirect'])) {
header("X-Accel-Redirect: " . $GLOBALS['INFO']['upload_nginx_redirect'] . $attach['attach_location']);
exit;
}

 

После этого все заработало, видимо бывший админ форума, что-то тут крутил.

Спасибо за помощь.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Скорее всего. Если использовать по делу этот заголовок, то нужно и конфиг nginx подгонять под него.
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.