roberthodasz / mod-spdy

Automatically exported from code.google.com/p/mod-spdy
0 stars 0 forks source link

SpdyDebugUseSpdyForNonSslConnections on SPDY/3 does not work #66

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What version/revision number of mod_spdy are you using?
mod_spdy version 0.9.3.3.388

What version of Apache are you using, and on what operating system?  (Use
`apache2ctl -v` to check.)
Server version: Apache/2.2.22 (Ubuntu)
Server built:   Nov  6 2012 20:27:22

What other Apache modules are you using?  (Use `apache2ctl -M` to check.)
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 headers_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 spdy_module (shared)
 ssl_module (shared)
 status_module (shared)
Syntax OK

What browser version did you use to access the mod_spdy server?  On what
operating system? What flags was the browser invoked with?  (For
Chrome/Chromium, go to about:version to check.)
chrome version 25.0.1364.152
OS: Ubuntu 12.10

What steps will reproduce the problem?
1. Turn on SpdyDebugUseSpdyForNonSslConnections option in spdy.conf
2. Launch Chrome with --use-spdy=no-ssl switch
3. Navigate http://localhost then error occurs in Chrome, saying
"This Webpage is not available" with Error 337 (net::ERR_SPDY_PROTOCOL_ERROR): 
Unknown error.

What is the expected result? What do you see instead?

When I test with Chrome without "--use-spdy=no-ssl" switch and navigate 
original "https" address, it works well. 
But, after turning on "--use-spdy=no-ssl", the error occurs.

Please provide any additional information below.

Original issue reported on code.google.com by ahmedal...@gmail.com on 5 Mar 2013 at 4:25

GoogleCodeExporter commented 9 years ago
I believe the issue is that when Chrome is set to --use-spdy=no-ssl, it uses 
SPDY/2 for non-SSL connections.  I just tried it myself (on Chrome 26), and 
even with --enable-spdy3, Chrome still seems to use SPDY/2.  You should be able 
to verify this yourself (I think) by setting your Apache LogLevel to info and 
trying again; you should see something in the error log along the lines of 
"Unsupported SPDY version 2 (expected 3)", indicating that Chrome is sending 
SPDY/2 frames while mod_spdy is expecting to get SPDY/3 frames.

I will ping the Chrome folks to see if there's any way to get Chrome to speak 
SPDY/3 without SSL, and let you know what I hear back.

Original comment by mdste...@google.com on 11 Mar 2013 at 5:19

GoogleCodeExporter commented 9 years ago
The Chrome folks are looking into it.  In the meantime, someone pointed out 
that you could maybe try using SSL, but with a NULL cipher (so that it is 
effectively unencrypted), if that would suit your purposes.  But I've not tried 
setting that up myself.

Original comment by mdste...@google.com on 11 Mar 2013 at 5:22

GoogleCodeExporter commented 9 years ago
Chromium issue link: https://code.google.com/p/chromium/issues/detail?id=181598

Original comment by mdste...@google.com on 11 Mar 2013 at 6:02

GoogleCodeExporter commented 9 years ago
Thanks Matthew,
I have tried using --use-spdy=3-no-ssl but still the same problem..
this issue is reported before here in issue 48 
https://code.google.com/p/mod-spdy/issues/detail?id=48 and it confirmed as 
fixed bug in mod_spdy.

Original comment by ahmedal...@gmail.com on 12 Mar 2013 at 9:55

GoogleCodeExporter commented 9 years ago
The --use-spdy=3-no-ssl flag hasn't been implemented in Chrome yet, I don't 
think; that's just a proposal.  But hopefully either that or something similar 
will be implemented soon.

As you point out, mod_spdy did previously have a bug relating to 
SpdyDebugUseSpdyForNonSslConnections, but as far as I can tell mod_spdy is now 
working correctly; the issue is rather that Chrome is apparently unable to use 
SPDY/3 without SSL, and instead always uses SPDY/2.

You could try it with another client instead of Chrome, but I don't know if 
there are other SPDY clients today that will speak SPDY without SSL.

Original comment by mdste...@google.com on 12 Mar 2013 at 3:49

GoogleCodeExporter commented 9 years ago
I've also been trying to work around this problem. I thought that if the issue 
was chrome using spdy2 when invoked with --use-spdy=no-ssl, then setting 
SpdyDebugUseSpdyForNonSslConnection to 2, rather that 3, should allow chrome to 
connect. This did not work with my current version of Chrome (25.0.1364.160), 
however it did work with a much older version of chrome (13.0.765.0). This fits 
with the idea that the problem is with current versions of chrome, but also 
suggests that it's not just a spdy2 vs. spdy3 issue. Now I need to dig up an 
old version of spdy_shark that supports spdy2...

Original comment by leighton...@gmail.com on 5 Apr 2013 at 6:02