Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Неверная обработка/переда ча POST запроса типа Content-Typ e: multipart/form-data
- To: nginx-ru@xxxxxxxxx
- Subject: Неверная обработка/переда ча POST запроса типа Content-Typ e: multipart/form-data
- From: "trinex" <nginx-forum@xxxxxxxx>
- Date: Tue, 25 Oct 2011 18:45:11 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=7NaaIekJMZ1VqlRINZb7sB0lNqdQ3IXjObr92NywiS8=; b=cuO0YmbdETUM1UviKBYBF+SM7jllwKDAiA/QrTjVp2DRBU9Mc6spnC/5BxZ9Az3TRL3nJ3/TfQDgMhHD6eENWTAjHfYom6ONL7dcGqGsUOZvxTWyQcTUK8YxWg+1qy02;
Здравствуйте.
Nginx работает как проксирующий
веб-сервер, передавая динамические
запросы на apache + php, в общем, обычная и
распространенная схема. Конфиг nginx
выглядит так:
server {
...
location @fallback {
root /home/trinex.ru/public_html;
proxy_cache off;
proxy_pass http://127.0.0.1:8800;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_send_lowat 12000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path
/usr/local/nginx/proxy_temp 1 2;
charset utf-8;
}
location ~*
\.(jpg|jpeg|gif|png|ico|css|html|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
{
root /home/trinex.ru/public_html;
error_page 404 = @fallback;
charset utf-8;
access_log off;
expires 30d;
}
...
}
Обнаружил такую вот неприятную
проблему (nginx 0.*, 1.*):
есть форма: http://trinex.ru/data.php
Она отправляется постом и имеет Content-Type:
multipart/form-data, запрос через nginx
проксируется на apache+php, в котором данные
POST просто выводятся на страницу.
Иногда, и что характерно и удивительно
в некоторых браузерах, эти данные
ломаются. Эффект наблюдается в Firefox,
InternetExplorer, в Chrome такого нет (версии
браузеров последние на данный момент)
Вот так это выглядит:
[14]=>
string(1) "0"
[15]=>
string(115) "0
-----------------------\0-----1524538208863362381055335516
Content-Disposition: form-data; name=\"id[]\"
166"
[16]=>
string(1) "0"
Если убрать nginx и выставить наружу apache,
то такой проблемы не наблюдается.
Почему такое происходит, и как можно
поправить эту неприятную ошибку?
Возможно, проблема не в nginx?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,217337,217337#msg-217337
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|