μLink 2023-08-18 14:42 采纳率: 37.5%
浏览 11

Error parsing HTTP request header

写了个简单的Springboot项目,用到springboot+mysql+mybatis,作简单的微信小程序登录,存储微信用户信息,部署到阿里云 ECS服务器上后,能运行,但是隔一段时间就会报一个这样的错误:

2023-08-18 14:24:22.381  INFO 8428 --- [0.0-8080-exec-3] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x000xee0x010x000x000xea0x030x030xf80x8cM0x1a0xec0x900x930xe30x935Lx0xe70xf93!vHq0xd50xd40xe70xc4s0xa70xb60x980xe80xff0xfc0xca0xe4 ]. HTTP method names must be tokens
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:419) ~[tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:269) ~[tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) [tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722) [tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-9.0.55.jar!/:na]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.55.jar!/:na]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_271]


img

网上的几种类似方法看了,感觉不是我这种问题的原因:1.改大http header size 尝试了 不行;2.请求端用http 不要用https,我是用微信小程序测试,登录的时候里面用http,并没用https,而且上面错误时当时并没有什么做什么操作,都是小程序登录时好好的,过一段时间突然报了这个错误。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-18 16:09
    关注

    【以下回答由 GPT 生成】

    该错误是由于HTTP请求头解析错误导致的。可能的原因是在请求中包含了非法字符或者格式不正确的请求头。

    解决这个问题的方法如下:

    1. 首先,检查你的代码,确认在处理HTTP请求时没有对请求头进行修改或拼接的操作。确保请求头的格式是正确的,不包含非法字符。

    2. 检查你的前端代码,特别是微信小程序登录功能的代码。确保在发送请求时,请求头的格式是正确的,符合HTTP协议规范。

    3. 检查你的网络环境和网络设备,确认没有代理或防火墙等中间设备对请求头进行修改或阻止的操作。

    4. 检查你的服务器配置,特别是阿里云ECS服务器上的配置。确保服务器的网络配置没有问题,并且没有对请求头进行过滤或修改的配置。

    如果以上步骤都没有解决问题,可以尝试以下方法:

    1. 更新你使用的Spring Boot、MySQL和MyBatis的版本,确保它们是最新的稳定版本,可能存在已解决该问题的bug或者改进的功能。

    2. 在项目中添加日志记录功能,特别是记录HTTP请求和响应的详细信息。通过查看日志,可以更准确地判断请求头解析错误的具体原因。

    3. 通过调试工具,如Wireshark等,捕获异常发生时的请求数据包,分析其中的请求头内容,找出导致解析错误的具体原因。

    如果以上方法都没有解决问题,可能需要进一步深入分析和调试,包括检查服务器和网络设备的日志、测试不同网络环境下的表现等。

    如果你对以上解决方法都已经尝试过,但问题仍然存在,请提供更多详细信息,以便进行进一步的分析和排查。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月18日

悬赏问题

  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件