gpt4 book ai didi

java - 由 Jetty 提供支持的 REST 服务器返回 HTTP 404 错误,如何查找服务器日志条目?

转载 作者:行者123 更新时间:2023-12-02 11:36:57 25 4
gpt4 key购买 nike

我在 FUSE ESB 6.1 中部署了一个 REST 应用程序。有许多服务暴露给外部客户端。问题是,有时客户端会收到带有以下 html 的 HTTP 404 Not Found。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 404 Not Found </title>
</head>
<body>
<h2>HTTP ERROR: 404</h2>
<p>Problem accessing /context/api/service1. Reason:
<pre> Not Found</pre></p>
<hr /><i><small>Powered by Jetty://</small></i>
</body>
</html>

我可以看到这是由于服务名称错误造成的。

但我在服务器日志中找不到任何相关的日志条目。是否有任何选项可以在 REST 服务器中查看这些 Jetty 错误详细信息?可能有 Jetty 日志?

最佳答案

与任何 servlet 容器一样,您可以将 404 错误重定向到 JSP、servlet 等,然后自己简单地记录 URL。

来自Jetty documentation :

Error code example:

<error-page>
<error-code>404</error-code>
<location>/jspsnoop/ERROR/404</location>
</error-page>

Exception example:

<error-page>
<exception-type>java.io.IOException</exception-type>
<location>/jspsnoop/IOException</location>
</error-page>

您还可以捕获在应用程序上下文之外发生的 404 错误:

Server level 404 error

It is possible to get a page not found when a request is made to the server for a resource that is outside of any registered contexts. As an example, you have a domain name pointing to your public server IP, yet no context is registered with Jetty to serve pages for that domain. As a consequence, the server, by default, gives a listing of all contexts running on the server.

One of the quickest ways to avoid this behavior is to create a catch all context. Create a "root" web app mapped to the "/" URI, and use the index.html redirect to whatever place with a header directive.

关于java - 由 Jetty 提供支持的 REST 服务器返回 HTTP 404 错误,如何查找服务器日志条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48870214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com