Problems using tomcat as a backend

Hi,
i’m using nginx 0.8.37 to proxy an ssl site on a tomcat backend
(teamwork application).
When I try to download a file using MSIE 8, I see the error:
“Internet Explorer cannot download YYYYYY from tw.xxxxxxx.it”

Searching on internet it seems the same problem as in this old post:
http://www.ruby-forum.com/topic/160290

This is my vhost config:
upstream teamwork {
server 172.16.16.132:8080;
server 127.0.0.1:8080 backup;
}

server {
ssl on;
ssl_certificate /usr/local/etc/nginx/conf/cert.pem;
ssl_certificate_key /usr/local/etc/nginx/conf/cert.key;
keepalive_timeout 70;
access_log /var/log/nginx/tw-access.log;
error_log /var/log/nginx/tw-error.log;

listen 172.16.16.221:443;
server_name tw.xxxxxx.it;
proxy_read_timeout 360;

     proxy_set_header        Host $host;
     proxy_set_header        X-Real-IP $remote_addr;
     proxy_set_header        X-Forwarded-For 

$proxy_add_x_forwarded_for;

location / { proxy_pass http://teamwork; }
}

server {
listen 172.16.16.221:80;
server_name tw.xxxxxx.it;
rewrite ^(.*) https://tw.xxxxxx.it$1 permanent;
access_log /var/log/nginx/tw-access.log;
error_log /var/log/nginx/tw-error.log;

}

This is my nginx config:

worker_processes 1;

events {
worker_connections 1024;
}

http {
server_names_hash_bucket_size 64;

 include             /usr/local/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;
 error_log    /var/log/nginx/error.log;

 # spool uploads to disk instead of clobbering downstream servers
 client_body_temp_path /var/spool/nginx-client-body 1 2;
 client_max_body_size 32m;
 client_body_buffer_size    128k;

 server_tokens       off;

 sendfile            on;
 tcp_nopush          on;
 tcp_nodelay         off;

 keepalive_timeout   5;

 ## Compression
 # Some version of IE 6 don't handle compression well on some

mime-types,
# so just disable for them
# Set a vary header so downstream proxies don’t send cached gzipped
# content to IE6

 # proxy settings
 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_max_temp_file_size 0;

 proxy_connect_timeout      90;
 proxy_send_timeout         90;
 proxy_read_timeout         90;

 proxy_buffer_size          4k;
 proxy_buffers              4 32k;
 proxy_busy_buffers_size    64k;
 proxy_temp_file_write_size 64k;

 include             /usr/local/etc/nginx/sites/*;

}

but there is a Vary header present, the old thread mentions that might
be an issue.

We download files using IE8 via an nginx->Tomcat configuration all the
time, and no problems, so it must be something application-specific.


RPM

Well, I tried to download using MSIE 8 and http protocol and I had no
problem at all.
So I started to think that this ‘behaviour’ is related to MSI8+SSL and
in fact I discovered that if I use a expires 0; in vhost configuration,
everything is fine using https.

My .2 cents :slight_smile:

d.

On Wed, May 19, 2010 at 11:14 AM, Davide D’Amico
[email protected] wrote:

Hi,
i’m using nginx 0.8.37 to proxy an ssl site on a tomcat backend (teamwork
application).
When I try to download a file using MSIE 8, I see the error:
“Internet Explorer cannot download YYYYYY from tw.xxxxxxx.it”

Have you tried a tool like www.fiddler2.com to see what IE8 is
actually getting back from nginx? If it is getting the entire file,
but there is a Vary header present, the old thread mentions that might
be an issue.

We download files using IE8 via an nginx->Tomcat configuration all the
time, and no problems, so it must be something application-specific.


RPM