I found it. The keepalivetask.cs file seems to be the culprit. I changed the part: string url = _storeContext.CurrentStore.Url + "keepalive"; to string url = _storeContext.CurrentStore.Url; recompiled, then re-started the website. Problem disappeared.
There is no route for the path "keepalive", hence the reason for the 404 Type in your url + "/keepalive" and you'll get a page not found
Me too. This error happened in version 3.00. There is no such error in 2.80, but after update my website, it comes. Just guess, is this one caused by multi-store feature?
Yep I am having the same problem, I tried http://www.storeurl.com/keepalive on a development version 2.80 it works fine, however on version 3.00 even with just 1 store I get the 404 page not found.
I too located the Keep alive code, and made the same modification as below
correct me if I am wrong, will the above code change return the homepage ?, as the Keepalive controller will not be called, the keepalive controller just returns text "I am alive", where as the modifed code will return the home page along with all the bandwidth consumpution that entails.
I wound up doing the same thing luckily most hosts wont count it as using bandwidth since the request is coming from the originating ip address. I'm not 100% sure but iis might not even send it to the adapter but instead just loop it back so there's no actual bandwidth. Mind you that's speculation on my part but sensible.
P.S. If you're using "no source code" version, then just disable this schedule task (admin area > system > schedule tasks) and use some third-party service such as pingdom