Solving support issues in other people’s products
A user contacted us to tell us that RavenDB does not work in his environment. As you can imagine, we didn’t really like to hear that, so we looked deeper into the issue. The issue in question included the actual problem, which looked something like this:
{ "Url": "/auth/", "Type": "Raven.Client.Exceptions.Routing.RouteNotFoundException", "Message": "There is no handler for path: GET /auth/", "Error": "Raven.Client.Exceptions.Routing.RouteNotFoundException: There is no handler for path: GET /auth/n" }
My reaction to that was… huh?!
That is a really strange error, since RavenDB does not have an “/auth/” endpoint. The problem isn’t with RavenDB, it is with something else.
In this case, the user ran RavenDB on port 8080 (which is the normal thing to do) and then tried to access RavenDB in the browser.
The problem was that they previously ran some other software, and that software had the following interaction:
* Connected to 127.0.0.1 port 8080 > GET / HTTP/1.1 > Host: 127.0.0.1 > User-Agent: curl/7.85.0 > Accept: */* > < HTTP/1.1 301 Moved Permanently < Location: http://127.0.0.1:8080/auth/ < Content-Type: text/html; charset=UTF-8
In other words, it redirected the browser to the “/auth/” endpoint. It’s critical to understand that 301 response means: Moved Permanently. That means that they are actually cached by the browser. In this case, the scenario was reusing the same endpoint for a different software product, and the browser cache meant that we got strange results.
Woah, already finished? 🤯
If you found the article interesting, don’t miss a chance to try our database solution – totally for free!