incubator-pagespeed-mod
incubator-pagespeed-mod copied to clipboard
Fetch failed for resource url and Aborting fetch
Hi,
After installing PageSpeed I am having many warnings in the error_log every 2 seconds, my page sometimes loads fast, but sometimes it does not load the styles or the images and the ones that load take a long time.
PageSpeed: 1.13.35.2-0 Apache: 2.2.15 OS: Red Hat Enterprise Linux Server release 6.6 (Santiago)
PageSpeed Config (pagespeed.conf):
<IfModule !mod_version.c>
LoadModule version_module /usr/lib64/httpd/modules/mod_version.so
</IfModule>
<IfVersion < 2.4>
LoadModule pagespeed_module /usr/lib64/httpd/modules/mod_pagespeed.so
</IfVersion>
<IfVersion >= 2.4.2>
<IfModule !access_compat_module>
LoadModule access_compat_module /usr/lib64/httpd/modules/mod_access_compat.so
</IfModule>
LoadModule pagespeed_module /usr/lib64/httpd/modules/mod_pagespeed_ap24.so
</IfVersion>
<IfModule !mod_deflate.c>
LoadModule deflate_module /usr/lib64/httpd/modules/mod_deflate.so
</IfModule>
<IfModule pagespeed_module>
ModPagespeed on
AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
ModPagespeedLogDir "/var/log/pagespeed"
ModPagespeedSslCertDirectory "/etc/pki/tls/certs"
ModPagespeedSslCertFile /etc/pki/tls/cert.pem
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters trim_urls,remove_quotes,collapse_whitespace,elide_attributes,rewrite_images,resize_images,combine_css,rewrite_css,combine_javascript,rewrite_javascript,insert_dns_prefetch,extend_cache
ModPagespeedImageResolutionLimitBytes 3145728
ModPagespeedImageMaxRewritesAtOnce 1
ModPagespeedFileCacheSizeKb 5242880
ModPagespeedFileCacheInodeLimit 500000
<Location /pagespeed_admin>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_admin
</Location>
<Location /pagespeed_global_admin>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_global_admin
</Location>
ModPagespeedStatisticsLogging on
ModPagespeedMessageBufferSize 100000
</IfModule>
Error log:
[mod_pagespeed 1.13.35.2-0 @1143] [1227/190216:WARNING:resource_fetch.cc(195)] Fetch failed for resource url http://www.mysite.com/.../poll.css,qpkd3k1.pagespeed.ce.VJWtJYCaVk.css
[mod_pagespeed 1.13.35.2-0 @41253] [1228/095326:WARNING:resource_fetch.cc(195)] Fetch failed for resource url http://www.mysite.com/.../XXXXXXXXX.jpg.pagespeed.ce.lQlRoU7A9q.jpg
[mod_pagespeed 1.13.35.2-0 @48754] [1228/095327:WARNING:resource_fetch.cc(195)] Fetch failed for resource url http://www.mysite.com/.../XXXXXXXXX.jpg.pagespeed.ce.UpFe8OMHFM.jpg
[mod_pagespeed 1.13.35.2-0 @63316] [1227/192801:WARNING:serf_url_async_fetcher.cc(1222)] Aborting fetch of http://www.mysite.com/.../XXXXXXXXX.png (connecting to:17x.xx.xx.xx)
[mod_pagespeed 1.13.35.2-0 @1207] [1227/193037:WARNING:serf_url_async_fetcher.cc(1222)] Aborting fetch of http://www.mysite.com/.../XXXXXXXXX.jpg?itok=YwlSjWrR (connecting to:17x.xx.xx.xx)
[mod_pagespeed 1.13.35.2-0 @60140] [1227/190052:WARNING:serf_url_async_fetcher.cc(1222)] Aborting fetch of http://www.mysite.com/.../XXXXXXXXX.js?phitn8 (connecting to:17x.xx.xx.xx)
[mod_pagespeed 1.13.35.2-0 @59752] [1227/190138:WARNING:serf_url_async_fetcher.cc(1222)] Aborting fetch of http://www.mysite.com/.../XXXXXXXXX.css?pkd3k1 (connecting to:17x.xx.xx.xx)
...
Hello,
Maybe you should look at Serf/1.3.9 in regular apache2 access logs for the domain and check responses for fetched resources ?
Eric
I'm getting an error 304:
"GET .../jquery.cookie.js HTTP/1.1" 304 - "..." "Serf/1.3.9 (mod_pagespeed/1.13.35.2-0)"
Http 304 indicates that the resource was not modified. That's not an error, I think it is fine.
Note I have come across another configuration that can cause this error:
Nginx Load Balancer --- proxy_protocol -> Backend Nginx
Two issues:
- pagespeed will attempt to perform a standard http/https request to the
proxy_protocolport unless you useMapOriginDomainto remap it to a port that is not usingproxy_protocol. - pagespeed will fail to fetch resources via HTTPS due to lack of IPv6 support when the backend server has no IPv6 network
The solution in my instance was to configure two servers like so:
server
{
listen 8443 ssl http2 proxy_protocol;
port_in_redirect off;
real_ip_header proxy_protocol;
pagespeed MapOriginDomain http://localhost:8080 https://example.com example.com;
root /home/example/public_html;
}
server
{
listen localhost:8080;
root /home/example/public_html;
}
The reason for the second server is so that any dynamic processing via PHP, etc... doesn't get bypassed by using direct file access. This is not shown in the above example. This is also faster then performing another HTTPS request as there is no need to perform any encryption, nor is there any risk as the second server is only allowing loopback connections on localhost.