迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 错误 Invalid Character Found in Method Name. HTTP Method Names Must Be Tokens

作者:迹忆客 最近更新:2023/07/07 浏览次数:

本篇文章将介绍 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 的解决方案

下面列出了可以应用的解决问题的选项。

  1. 将客户端 URL 中的 https 替换为 http。 这样做很可能会有效。 例如,如果使用 http://localhost:8080/foo/bar 访问本地服务器,则使用 URL https://localhost:8080/foo/bar 来访问它。
  2. 按 Ctrl + Shift + Delete 控件清除浏览数据,然后单击“清除数据”,如代码片段所示。

    清除网络浏览器中的浏览数据

  3. 清除 SSL 状态 由于无法从 PC 上 Google Chrome 的浏览器设置内部删除 SSL 状态,因此必须通过操作系统的设置来完成此操作。 因此,请按照以下说明清除 SSL 状态。
    • 在开始菜单中,搜索“Internet 选项”并将其打开。

      在开始菜单中打开内部选项

    • 单击出现的对话框中的“内容”选项卡。

      单击互联网属性中的内容选项卡

    • 单击清除 SSL 状态按钮。

      单击 Internet 属性中内容选项卡下的清除 ssl 状态

    • 单击“确定”,SSL 状态将被清除。

      ssl 缓存已清除

  4. 为应用程序配置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"/>
      

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

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 错误 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 错误的原因 当我们尝试在分支控制流语句之后放置语句时,会发生不可到达语句错误。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便