request.getRequestURL()相关的问题

sandy刘 2019-02-13 11:36:58
我在spring cloud zuul的统一异常处理中打印了请求地址request.getRequestURL(),但是从日志中看到,有时候这个请求地址居然是http://www.baidu.com/error,这怎么搞的,有大神也遇到过吗?下面是异常信息

2019-02-13 09:46:42.021 [http-nio-1101-exec-10] ERROR com.soft.common.GlobalExceptionHandler - 统一异常处理捕获了异常,请求地址:http://www.baidu.com/error
org.springframework.web.HttpMediaTypeNotAcceptableException: Could not parse 'Accept' header [*/*\r\n\r\n]: Invalid mime type "*/*\r\n\r\n": wildcard type is legal only in '*/*' (all mime types)
at org.springframework.web.accept.HeaderContentNegotiationStrategy.resolveMediaTypes(HeaderContentNegotiationStrategy.java:59)
at org.springframework.web.accept.ContentNegotiationManager.resolveMediaTypes(ContentNegotiationManager.java:123)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.getAcceptableMediaTypes(AbstractMessageConverterMethodProcessor.java:329)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:183)
at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:203)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:113)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:392)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
...全文
436 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2019-02-13
  • 打赏
  • 举报
回复
查一下配置文件看看吧,如application.yml,看看有没有http://www.baidu.com/error相关的
sandy刘 2019-02-13
  • 打赏
  • 举报
回复
引用 3 楼 yjclsx 的回复:
通过浏览器发起请求来访问你的服务,request.getRequestURL()获取到的是浏览器地址栏输入的请求链接(不包括请求参数),这个链接不一定是真实有效的。比如,你可以修改自己电脑的hosts文件,将www.baidu.com指向你的服务的IP,然后访问http://www.baidu.com/xxx就会请求到你的服务,request.getRequestURL()获取到的自然就变成这样了。

多谢,这点的确说得通!
yjclsx 2019-02-13
  • 打赏
  • 举报
回复
通过浏览器发起请求来访问你的服务,request.getRequestURL()获取到的是浏览器地址栏输入的请求链接(不包括请求参数),这个链接不一定是真实有效的。比如,你可以修改自己电脑的hosts文件,将www.baidu.com指向你的服务的IP,然后访问http://www.baidu.com/xxx就会请求到你的服务,request.getRequestURL()获取到的自然就变成这样了。
sandy刘 2019-02-13
  • 打赏
  • 举报
回复
整个项目全文搜都没有www.baidu.com,但是日志里有时候就是会出现来自http://www.baidu.com/error的报错信息,而且是被异常处理捕获了的,难道是服务被攻击了

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧