Merge pull request #214 from pagespeed/jefftk-try-files-loopback
Don't try to optimize loopback fetches
This commit is contained in:
@@ -322,6 +322,7 @@ enum Response {
|
||||
kBeacon,
|
||||
kStatistics,
|
||||
kMessages,
|
||||
kPagespeedSubrequest,
|
||||
};
|
||||
} // namespace CreateRequestContext
|
||||
|
||||
@@ -1217,6 +1218,14 @@ bool ps_apply_x_forwarded_proto(ngx_http_request_t* r, GoogleString* url) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool is_pagespeed_subrequest(ngx_http_request_t* r) {
|
||||
ngx_table_elt_t* user_agent_header = r->headers_in.user_agent;
|
||||
if (user_agent_header == NULL) {
|
||||
return false;
|
||||
}
|
||||
StringPiece user_agent = str_to_string_piece(user_agent_header->value);
|
||||
return (user_agent.find(kModPagespeedSubrequestUserAgent) != user_agent.npos);
|
||||
}
|
||||
|
||||
// Set us up for processing a request.
|
||||
CreateRequestContext::Response ps_create_request_context(
|
||||
@@ -1234,6 +1243,10 @@ CreateRequestContext::Response ps_create_request_context(
|
||||
return CreateRequestContext::kInvalidUrl;
|
||||
}
|
||||
|
||||
if (is_pagespeed_subrequest(r)) {
|
||||
return CreateRequestContext::kPagespeedSubrequest;
|
||||
}
|
||||
|
||||
if (is_resource_fetch && !cfg_s->server_context->IsPagespeedResource(url)) {
|
||||
if (url.PathSansLeaf() ==
|
||||
net_instaweb::NgxRewriteDriverFactory::kStaticAssetPrefix) {
|
||||
@@ -1659,6 +1672,7 @@ ngx_int_t ps_header_filter(ngx_http_request_t* r) {
|
||||
case CreateRequestContext::kInvalidUrl:
|
||||
case CreateRequestContext::kStatistics:
|
||||
case CreateRequestContext::kMessages:
|
||||
case CreateRequestContext::kPagespeedSubrequest:
|
||||
return ngx_http_next_header_filter(r);
|
||||
case CreateRequestContext::kOk:
|
||||
break;
|
||||
@@ -2065,6 +2079,7 @@ ngx_int_t ps_content_handler(ngx_http_request_t* r) {
|
||||
case CreateRequestContext::kNotUnderstood:
|
||||
case CreateRequestContext::kPagespeedDisabled:
|
||||
case CreateRequestContext::kInvalidUrl:
|
||||
case CreateRequestContext::kPagespeedSubrequest:
|
||||
return NGX_DECLINED;
|
||||
case CreateRequestContext::kBeacon:
|
||||
return ps_beacon_handler(r);
|
||||
|
||||
@@ -66,6 +66,18 @@ http {
|
||||
pagespeed EnableFilters inline_css;
|
||||
}
|
||||
|
||||
server {
|
||||
listen @@SECONDARY_PORT@@;
|
||||
server_name tryfiles.example.com;
|
||||
pagespeed FileCachePath "@@FILE_CACHE@@";
|
||||
|
||||
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { }
|
||||
location ~ "^/ngx_pagespeed_static/" { }
|
||||
location ~ "^/ngx_pagespeed_beacon$" { }
|
||||
|
||||
try_files $uri $uri/ /mod_pagespeed_example/index.html;
|
||||
}
|
||||
|
||||
server {
|
||||
listen @@PRIMARY_PORT@@;
|
||||
server_name localhost;
|
||||
|
||||
Reference in New Issue
Block a user