Opened 10 years ago

Closed 10 years ago

#709 closed defect (invalid)

Couldn't displays the google picture completely with the latest version Nginx

Reported by: fir Befamous Owned by:
Priority: minor Milestone:
Component: nginx-core Version: 1.7.x
Keywords: Cc: gcc, version, 4.4.7, 20120313, (Red, Hat, 4.4.7-11), (GCC)
uname -a: Linux localhost.localdomain 2.6.32-042stab094.8 #1 SMP Tue Dec 16 20:36:56 MSK 2014 i686 i686 i386 GNU/Linux
nginx -V: nginx version: nginx/1.4.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --with-pcre=../pcre-8.36 --with-openssl=../openssl-1.0.1j --with-zlib=../zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_spdy_module --with-ipv6 --add-module=../ngx_http_google_filter_module --add-module=../ngx_http_substitutions_filter_module

Description

Hello, engineer:

There is a problem confused me a long time about the Buffer for Picture Display. I show it here, and please forgive me I’m not familiar with the code and compiler language, I will describe the question as detailed as possible.
When I use the nginx as a Reverse Proxy for google site, Searching the “Google Image” will display different effects with different version of nginx. Previously, I used the nginx-1.4.7 stable version, the picture from the google image could buffer very quickly in one second. But when I update the nginx to the nginx-1.7.8, some pictures from google always show as a Blank frame, or it will spend a long time to display the picture. For example, during using the nginx-1.7.8, if one page could show 12 pics of picture, actually, I only get the 10 of the 12 pics, another 2 pics is displayed as the Blank Picture (the reference picture is attached here). OR, if I want to see the following picture, the new version nginx could show the result immediately, after about half minute or 1 minute, it could display the picture as usual (or as the effect from nginx-1.4.7). However, when I use the nginx-1.4.7/1.4.6, the picture could be displayed completely through any away.
For solving this problem, I have tried several version of the nginx in the same envirnoment. Unfortunately, except the nginx-1.4.7/1.4.6, the lasted versions of Nginx always appear the problem described above, including the nginx-1.5.12 which is released in the same time as nginx-1.4.7.
I have set the nignx with the following modules :


./configure --prefix=/opt/nginx --with-pcre=../pcre-8.36 --with-openssl=../openssl-1.0.1j --with-zlib=../zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_spdy_module --with-ipv6


And this is the mian line from nginx.conf:


user www-data;
worker_processes 1;
pid /run/nginx.pid;
daemon on;

events {

worker_connections 5120;

}

http {

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

variables_hash_bucket_size 128;
variables_hash_max_size 1024;

include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 1k;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
proxy_buffers 8 64k;


The following is the captured image about the trial,
The different nginx version I tried:
https://drive.google.com/file/d/0B4uKV-AeSn9EMlVCYkxRVk1tU1E/view
Actually, I've tested several version.

The display effect from nginx-1.4.7:
https://drive.google.com/file/d/0B4uKV-AeSn9ENUsxT3lIRjZhSFk/view
The nginx-1.4.7 could work well, we could see the all pictures.

The display effect from nginx-1.5.12:
https://drive.google.com/file/d/0B4uKV-AeSn9EelBLenY1V2VoUm8/view
But for nginx-1.5.12(the time released is same as nginx-1.4.7), some picture couldn't be showed out.
The display effect from nginx-1.5.12:
https://drive.google.com/file/d/0B4uKV-AeSn9EVDkyRlNHVXdnUW8/view
Normally, after 1 or a half minute later, the picture behind could be loaded.


The display effect from nginx-1.7.8:
https://drive.google.com/file/d/0B4uKV-AeSn9EVDlERGtOa2tOVHc/view
The nginx-1.7.8 also have this problem.

The display effect from nginx-1.7.9:
https://drive.google.com/file/d/0B4uKV-AeSn9EMjZpTEZ1MEkzeGs/view
And the latest one's effect for google image.
(All the nginx version is tested in the same compiler environment.)


Many thanks for your patient, and I am looking forward to your reply and suggestion :)

Sincerely yours,
Fred

Attachments (2)

nginx-1.7.9.jpg (44.2 KB ) - added by fir Befamous 10 years ago.
The example pictures
Different Version.jpg (65.8 KB ) - added by fir Befamous 10 years ago.

Download all attachments as: .zip

Change History (9)

by fir Befamous, 10 years ago

Attachment: nginx-1.7.9.jpg added

The example pictures

by fir Befamous, 10 years ago

Attachment: Different Version.jpg added

comment:1 by Valentin V. Bartenev, 10 years ago

Do you use SPDY?

in reply to:  1 comment:2 by fir Befamous, 10 years ago

Replying to Valentin V. Bartenev:

Do you use SPDY?

Yes, I used the SPDY all the time.


server

{

listen 443 ssl spdy;
server_name xx
ssl on;
ssl_certificate crt;
ssl_certificate_key key;
resolver 8.8.8.8;

}


comment:3 by Valentin V. Bartenev, 10 years ago

Could you provide the full configuration (including complete server block) and a debug log with the problem?

in reply to:  3 comment:4 by fir Befamous, 10 years ago

Replying to Valentin V. Bartenev:

Could you provide the full configuration (including complete server block) and a debug log with the problem?


The following code is the complete server block with the nginx-1.7.8:


http {
...

proxy_buffers 8 64k;

include /etc/nginx/conf.d/*.conf;

server {

listen 80;
server_name xxx.com;
return 301 https://xxx.com$request_uri;

}

server
{

listen 443 ssl spdy;
listen [::]:443 ssl spdy;
server_name xxx.com; ## name haven't been put here, our government always ban it.
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key.unsecure;

resolver 8.8.8.8;

location / {

google on;
google_scholar on;

}

}
}


This is the debug log file.

I also put a capture picture about the buffer/halt time point from 02:53:29--02:53:50.
https://drive.google.com/file/d/0B4uKV-AeSn9EWUVxZ0Z1YWExVlU/view
There is an image link and description information in the website, but it's halted, this condition always last about half minute, then the image is displyed completely.
Sometimes few image couldn't be shown all the time.
In the nginx-1.4.7, all works well.

Last edited 10 years ago by fir Befamous (previous) (diff)

comment:5 by Valentin V. Bartenev, 10 years ago

Well, it doesn't look like an nginx problem. You should try to reproduce it without 3rd-party modules.

in reply to:  5 comment:6 by fir Befamous, 10 years ago

Replying to Valentin V. Bartenev:

Well, it doesn't look like an nginx problem. You should try to reproduce it without 3rd-party modules.


After I compiled it without the 3rd-party modues, the image could be displayed completely and correctly.
The demo screenshot is as follow:
https://drive.google.com/file/d/0B4uKV-AeSn9EY2ZCdGU3YTBRdVU/view

You are wonderful, thanks for your help and patient.:)

comment:7 by Valentin V. Bartenev, 10 years ago

Resolution: invalid
Status: newclosed

You're welcome. ;)

Note: See TracTickets for help on using tickets.