gpt4 book ai didi

spring-boot - IllegalArgumentException : Invalid character found in the HTTP protocol

转载 作者:行者123 更新时间:2023-12-04 22:40:58 25 4
gpt4 key购买 nike

我在 Amazon EC2 实例中开发并部署了 Spring Boot REST 应用程序。然后,我创建了一个 CloudFront 分配,其行为为“将 HTTP 重定向到 HTTPS”,源配置为“仅 HTTP”,以便能够通过 HTTPS 访问 Rest API。
通常,当应用程序通过 EC2 的自身域通过 http 访问时,一切正常。但是当我开始通过 https CloudFront 链接访问时,应用程序在一段时间后开始静默死机。
我应该采取什么措施来防止应用程序被终止?
这是我在日志文件中看到的。但这不是崩溃日志,应用程序在此日志后继续运行:

2020-09-09 00:09:15.877  INFO 27720 --- [nio-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 the HTTP protocol [HTTP/1.10x0aHost:]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:560) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_252]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_252]

2020-09-09 11:24:35.544 INFO 27720 --- [nio-8080-exec-5] 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 the HTTP protocol [HTTP/1.10x0aHost:]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:560) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_252]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.36.jar!/:9.0.36]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_252]

LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@532445947
仅此而已,没有其他异常(exception),没有关闭日志,不幸的是没有其他线索...
我正在使用以下命令来运行应用程序: sudo nohup java -Dspring.profiles.active=stage -jar myapplication.jar &Spring Boot 版本为 2,EC2 实例为 Amazon Linux 2018.3
编辑:我正在添加一些有关 CloudFront 配置的图像。
源配置:
CloudFront Origin configurations
行为配置:
CloudFront Behavior configurations

最佳答案

配置 CloudFront 分配支持的 HTTP 版本
作为

HTTP/1.1, HTTP/1.0


代替

HTTP/2, HTTP/1.1, HTTP/1.0


解决了这个问题。
原始帖子中的异常仍然存在,但不再终止。
我认为服务于 Rest API 的应用程序不支持 HTTP 2,当从 CloudFront 重定向时,一些 HTTP 2 请求到达。然后以某种方式处理不受支持的 http 请求版本会导致一些 fatal error ,从而导致终止。如果我错了,请纠正我。

关于spring-boot - IllegalArgumentException : Invalid character found in the HTTP protocol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63828797/

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