Првиет. Давненько утановил nginx, всё это время он недоотдовал картинки полностью, даже не очень большие по 100КБ (каждая вторая калечится). С каналами связи никаких проблем, при этом картинка загружается моментально, но не до конца.как настроть то нужно? Картинка отдаётся апачем через php, некоторые динамические действия делаются с ней.
При отключении nginx и работы с апача, всё отдаётся нормально.
nginx 0.7
конфиг (site.ru и ip_adress_here поставлено перед публикацией):
user nobody;
worker_processes 4;
worker_rlimit_nofile 8192;error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';#access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
gzip on;
gzip_static on;
gzip_comp_level 6;
gzip_min_length 1024;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/json text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "msie6";
keepalive_timeout 15;
#limit_zone myzone $binary_remote_addr 10m;#server_names_hash_bucket_size 64;
#server_names_hash_max_size 4096;# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;server {
listen 80;
server_name site.ru www.site.ru;
#access_log /var/www/vhosts/site.ru/nginx_access.log;
#error_log /var/www/vhosts/site.ru/nginx_error.log warn;charset windows-1251;
client_max_body_size 3m;
set $www_root "/var/www/vhosts/site.ru/httpdocs/";
#set $image_root "/var/www/vhosts/site.ru/httpdocs/storage/img/";location ~* ^.+\.(css|js)$ {
root $www_root;
#break;
}#location ~* ^(.*)/hot\-img/(.*)\.(jpg|jpeg|png|gif|bmp|tiff|ico|swf|psd)$ {
# r
#}#all dynamic pages
location / {
proxy_pass http://ip_adress_here:88/;
proxy_redirect off;
#proxy_redirect http://ip_adress_here:88;
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_intercept_errors off;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 30;
}#deny htaccess
location ~ /\.ht {
deny all;
}
}}
> Картинка отдаётся апачем через php, некоторые динамические действия
> делаются с ней.скорее всего ваш апач (или собственно php скрипт) отдают chunked ответ (признак - заголовок в ответе "Transfer-Encoding: chunked") nginx такие ответы не понимает - отсюда битые картинки.