﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
1209	Weird net::ERR_SPDY_PROTOCOL_ERROR errors when http2 emabled	till.vollmer@…		"Chrome version  6.0.2924.87 (64-bit)
but also happens on Firefox but with a different error message

When I add http2 to my configuration some users  get net::ERR_SPDY_PROTOCOL_ERROR
error.log is empty and access.log shows successfully requests

The weird thing is that it seems to be location dependent, meaning that I have locations where it never happens and in our office in Vienna always have it. Also the amount of files (images) seems to be relevant. up to 5 seem to work, but more fail. See screenshot of Chrome.

We use upstream to a unicorn Ruby in Rails server. 

nginx config for this:

{{{
server {


	# SSL configuration
	#
    	listen 10.1.50.5:443 ssl http2 default_server;

        # ca-bundle merge and ciphers etc

        ssl_certificate /etc/nginx/cert/unkown.cacrt;
        ssl_certificate_key /etc/nginx/cert/unkown.key;
     
	root /home/unkown/server/mymind/current/public;

#app and cdn is redundant
    	server_name alpha.unkown.com ~^cdna\d+\.unkown\.com$;

        access_log /var/log/nginx/unkown-access.log;
        error_log /var/log/nginx/unkown-error.log;

        add_header X-Request-Origin xpreview;


# assets 

       location ~*  ^/(assets|images|javascripts|stylesheets)/.*\.(svg|ico|gif|jpe?g|png|js|css|html|ttf|ttc|otf|eot|woff|font.css)$ {
	     expires 365d;
     	 add_header Access-Control-Allow-Origin *;
         add_header etag """";
         add_header cache-control public;
       }  

# normal requests

	location / {

		try_files $uri @rails_normal;

	}


        location @rails_normal {
            proxy_pass      http://single_rest;
            proxy_redirect off;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X_FORWARDED_PROTO ""https"";
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_connect_timeout      120;
            proxy_send_timeout         120;
            proxy_read_timeout         120;
            proxy_set_header CLIENT_IP $remote_addr;
            proxy_buffer_size   128k;
            proxy_buffers   4 256k;
            proxy_busy_buffers_size   256k;


        }
}

}}}


Here the log from chrome http2 network internals attached as file
"	defect	closed	minor		other	1.10.x	worksforme			Linux xxx 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux	"nginx version: nginx/1.10.3
built with OpenSSL 1.1.0d  26 Jan 2017 (running with OpenSSL 1.1.0e  16 Feb 2017)
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-F3HeH5/nginx-1.10.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module --add-dynamic-module=/build/nginx-F3HeH5/nginx-1.10.3/debian/modules/nginx-auth-pam --add-dynamic-module=/build/nginx-F3HeH5/nginx-1.10.3/debian/modules/nginx-dav-ext-module --add-dynamic-module=/build/nginx-F3HeH5/nginx-1.10.3/debian/modules/nginx-echo --add-dynamic-module=/build/nginx-F3HeH5/nginx-1.10.3/debian/modules/nginx-upstream-fair --add-dynamic-module=/build/nginx-F3HeH5/nginx-1.10.3/debian/modules/ngx_http_substitutions_filter_module
root@mm-preview:~# type nginx
nginx is hashed (/usr/sbin/nginx)"
