Java 错误 Invalid Character Found in Method Name. HTTP Method Names Must Be Tokens
本篇文章将介绍 Tomcat 的一些可能的原因和解决方案:java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens。
Tomcat 的 java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens 原因
以下是导致错误发生的一些可能情况。
当用户尝试在未启用 HTTPS 的端点上执行来自客户端的 HTTPS 请求时,可能会遇到此异常。 当服务器只关注原始数据时,客户端会对请求的数据进行加密。
换句话说,每当服务器预期的内容与收到的内容之间存在差异时,通常就会发生这些异常。 您刚才所描述的就是众多可想象的结果之一。
您的服务器可能有一个不符合 HTTPS 标准的端点。
在某些情况下,Content-Length 标头的值与正文的长度不对应。
当您尝试在部署应用程序的服务器上使用不支持的 URI 方案时,通常会发生此错误。
Tomcat 中 java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens 的解决方案
下面列出了可以应用的解决问题的选项。
-
将客户端 URL 中的 https 替换为 http。 这样做很可能会有效。 例如,如果使用
http://localhost:8080/foo/bar
访问本地服务器,则使用 URLhttps://localhost:8080/foo/bar
来访问它。 -
按 Ctrl + Shift + Delete 控件清除浏览数据,然后单击“清除数据”,如代码片段所示。
-
清除 SSL 状态 由于无法从 PC 上 Google Chrome 的浏览器设置内部删除 SSL 状态,因此必须通过操作系统的设置来完成此操作。 因此,请按照以下说明清除 SSL 状态。
-
在开始菜单中,搜索“Internet 选项”并将其打开。
-
单击出现的对话框中的“内容”选项卡。
-
单击清除 SSL 状态按钮。
-
单击“确定”,SSL 状态将被清除。
-
在开始菜单中,搜索“Internet 选项”并将其打开。
-
为应用程序配置https协议,需要证书。 Let's Encrypt 是一个可以为您提供证书的资源。 生成和获取自签名证书的过程是最简单的选择。
-
首先为应用程序创建一个密钥库文件。 该文件的功能更像是 https 协议的自签名证书。
sudo keytool -genkey -keyalg RSA -alias tomcat -Keystore /usr/share/tomcat.keystore
-
接下来,在 Tomcat 服务器配置文件 (/opt/tomcat/conf/server.xml) 中,为应用程序添加 https Tomcat 服务器连接器:
sudo nano /opt/tomcat/conf/server.xml
-
通过添加以下内容来完成应用程序的设置。 请注意,已提供密钥库文件的路径和密码。 此外,还指定了与 http 端口分开的 https 端口。
<Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/usr/share/tomcat.keystore" keystorePass="my-password" clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8" compression="force" compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"/>
-
首先为应用程序创建一个密钥库文件。 该文件的功能更像是 https 协议的自签名证书。
相关文章
Java 错误 Could Not Reserve Enough Space for Object Heap Minecraft
发布时间:2023/07/11 浏览次数:125 分类:Java
-
本篇文章介绍了 Java 中的 Could not reserve enough space for object heap 错误。Minecraft 是一款非常流行的用 Java 开发的游戏,我们需要 Java 来运行它。Java 中Minecraft 错误Could not reserve enough space for object h
Java 错误 Cannot Determine a Valid Java Home
发布时间:2023/07/11 浏览次数:148 分类:Java
-
本篇文章介绍了 Java 中的 cannot determine a valid java home 错误。当 Java Home 路径设置不正确时,会出现 cannot determine a valid java home 错误。 我们必须按照以下步骤正确设置我们的 Java Home 来解决这个问
Java 错误 SunCertPathBuilderException: Unable to Find Valid Certification Path
发布时间:2023/07/11 浏览次数:164 分类:Java
-
本篇文章将讨论 unable to find valid certification path to requested target 潜在原因及其在 Java 中的解决方案。Java中的sun.security.provider.certpath.SunCertPathBuilderException是什么
Java 错误 Class Expected
发布时间:2023/07/11 浏览次数:66 分类:Java
-
在本文中,我们将研究 Java 中的“.class” expected错误是什么。“.class” expected错误是编译时错误。 有些人可能会感到困惑,因为他们认为这是一个运行时错误,但这是错误的。
Java 错误 Constructor Is Undefined
发布时间:2023/07/11 浏览次数:192 分类:Java
-
本文将研究 Java 的错误,constructor not defined。Java 中的constructor not defined错误 构造函数未定义是一个非常常见的错误。
修复 Java 错误 Java.Net.SocketException: Permission Denied
发布时间:2023/07/11 浏览次数:124 分类:Java
-
本篇文章介绍了 Java 中的 java.net.SocketException:Permission denied 错误。Java中出现 java.net.SocketException: Permission returned 错误的原因 SocketException 通常在网络连接出现问题时发生。
修复 Java 错误 $' ': Command Not Found
发布时间:2023/07/11 浏览次数:63 分类:Java
-
本篇文章介绍了 Java 中的 $'\r': command not found 错误。Java 中 $'\r': command not found 的原因当我们尝试在 Cygwin 等平台的 Linux 平台上运行 Unix 风格的命令时,会出现错误 $'\r': command not find 。
解决 Java 错误 Unreachable Statement
发布时间:2023/07/11 浏览次数:175 分类:Java
-
本篇文章介绍了 Java 中的 unreachable statement 错误。Java中出现 unreachable statement 错误的原因 当我们尝试在分支控制流语句之后放置语句时,会发生不可到达语句错误。
解决 Java 错误 Java.Sql.SQLException: No Suitable Driver
发布时间:2023/07/11 浏览次数:89 分类:Java
-
本篇文章介绍了 Java 中的 java.sql.SQLException:No suitable driver 错误。Java 中 java.sql.SQLException: No suitable driver 的原因