getgrav / grav-premium-issues

Official Grav Premium Issues repository to report problems or ask questions regarding the Premium products offered.
https://getgrav.org/premium
7 stars 2 forks source link

[warm-cache] - sitemap.json does not exist error #209

Closed replayshot closed 2 years ago

replayshot commented 2 years ago

I have a warm-up cache plugin and sitemap plugin - both enabled. When I click the quick tray icon for warm up cache, I get the attached error about json sitemap not existing, yet, it does exist.

sitemap

rhukster commented 2 years ago

Can you access that URL in your browser? https://googleslidesthemes.com/sitemap.json ?

What about https://googleslidesthemes.com/sitemap.xml ? if neither of those work, then your sitemap plugin is probably not working or misconfigured.

replayshot commented 2 years ago

Yes I can. Both json and xml are accessible.

rhukster commented 2 years ago

Is it possible things are behind a proxy or some kind of authentication? The warm cache plugin has the right url but can’t access it.

replayshot commented 2 years ago

Ahh, I am using the cloudflare plugin and the DNS is proxied. I did turn it off now and it seems to be chugging along. Thank you

w00fz commented 2 years ago

@replayshot is it the Proxy state on the DNS rule that you disabled? Or was it the plugin on admin?

rhukster commented 2 years ago

Did you disable the dns proxying or the grav cloudflare plugin?

replayshot commented 2 years ago

I disabled DNS proxying and then re-enabled it when warm up was done

rhukster commented 2 years ago

I'm investigating this and so far it seems to be related to cloudflare limiting concurrent connections from same IP. When set the connections to 1 (from 10) it works without errors. WIth any more than 1 I get some URLs working and some returning 520 error code. I'm looking to find a solution.

rhukster commented 2 years ago

BTW, worked fine finding the sitemap.json no problem for me when proxying, it's only the concurrent connections issue that is tripping it up. Actually the pages are all fully accessed correctly, i see 200 codes for all pages on the webserver, it's only on cloudflare side that it returns some of them as 520 errors. So it does warm correctly, even if it says it errored out.

rhukster commented 2 years ago

Ok, the best solution I can find is to basically bypassing cloudflare when access from the current server. This can be achieved by adding an entry in /etc/hosts:

127.0.0.1      yourserver.com

Then when accessing the URLs for the sitemap.json etc, it now goes to localhost rather than via cloudflare and works fine.