crowell / modpagespeed_tmp

Automatically exported from code.google.com/p/modpagespeed
Apache License 2.0
0 stars 0 forks source link

LogLevel Info doesn't report ModPagespeed Serf fetcher failures for 302 response codes #725

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. HTML requested over HTTP with x-forwarded-proto:https
2. Sub-resource is HTTPS, fetcher goes out over HTTP to fetch
3. The fetch goes back through a reverse proxy that knows how to terminate SSL 
with the origin
4. Fetch comes into reverse proxy over HTTP but the proxy doesn't know how to 
handle it so it send it over HTTP
5  Origin only wants to server the resource of HTTPS so redirects to the HTTPS 
version of the sub resource

What is the expected output? What do you see instead?
I think this is solvable if the fetcher inherited the x-forwarded-proto header 
from the HTML.
It could be made a config to allow specific request header inheritance.

What version of the product are you using (please check X-Mod-Pagespeed
header)?
1.3.25.4

On what operating system?
Ubuntu 10.04/12.04

Which version of Apache?
2.2.2

Which MPM?
Event

URL of broken page:
https://www.garmin.com/paccar/

Original issue reported on code.google.com by hayes...@gmail.com on 20 Jun 2013 at 9:21

GoogleCodeExporter commented 9 years ago
Sorry, got confused while writing this.
So the real problem is that the fetcher doesn't like 302 responses but is 
silent about what it's doing when it receives that response.

Original comment by hayes...@gmail.com on 20 Jun 2013 at 9:22

GoogleCodeExporter commented 9 years ago
Hi Hayes,

Is the request then for Serf to follow redirects N levels?  Or just to be more 
noisy about that failure?

Original comment by jmara...@google.com on 25 Jun 2013 at 2:38

GoogleCodeExporter commented 9 years ago
I think adding more noise about failure.

The redirect following is tricky since this relates to Issue #724.
Right now, if you were to follow the redirect with the 'x-forwarded-proto', you 
would end up in an infinite loop since it responds with a protocol correction 
to https.

Original comment by hayes...@gmail.com on 25 Jun 2013 at 4:56