Unexplained 404 error from GET

ASP.NET 4.5 on IIS 7, React front end, calling to service stack 4.5.0 integrated in ASP.NET
Application deployed to a virtual directory
Acessible via

  • public https://publicdomain.com/vdir/api
  • private http://privatehost/vdir/api
    Application running OK for about one month. App under consistent but low load. No change to deployment. Suddenly, a single api GET call to service stack via the public https endpoint started to return 404 Not Found. An other API in the same assembly and a similar signature continued to run OK. The failing API still worked via the private URL.
    Killing the aspnet worker processed turned out to resolve the 404.
    Even viewer is giving no clues.

Has anybody similar unexplained “random” behavior before? Any tips on where it can originate? Any hints welcome.

Thanks
Ries

This behavior doesn’t sound familiar. How are you making the same instance available via 2 different urls? Are you using a proxy for the public/external endpoint? If so does restarting the proxy resolve the issue?

I’d start investigating by trying to track down the HTTP Request that ServiceStack receives, if it’s being proxied you should be able to inspect the traffic on the ServiceStack Web Server using WireShark. You want to look at the failed HTTP Response that ServiceStack returns for that request. Otherwise if you enable the RequestLogs Feature you should be able to inspect the Requests ServiceStack receives.

1 Like

In IIS itself, by putting host-headers/bindings on the site. Each VDIR has a single worker process with private and a public binding.

Just typing the url in the address bar from my machine directly connected to internet reproduced the issue the users were experiencing. Its a plain URL / GET, no query string: https://publicdomain.com/vdir/api/top-menu. I did not dump the full response with headers (should have done it via Chrome F12…).

No smoking gun found so far.

Can you post the raw HTTP Request/Response Headers? (can use WebInspector/Fiddler), it will show amongst other things if the request is reaching ServiceStack.

Was after the 404 Response, wanted to see if the request reached ServiceStack or not.

Me too :frowning: But I did not take it.

I did take a screenshot though. Looks like IIS tried to look it up as a file, and not servicestack. Agree?

Yeah that’s definitely not a ServiceStack error page.