代码之家  ›  专栏  ›  技术社区  ›  drcimux

请求URI太长:URI长度超过配置的2048个字符的限制

  •  0
  • drcimux  · 技术社区  · 7 年前

    我有这个配置,我使用play 2.6,我不能使用Netty和POST

     play.server.akka{
        http.server.parsing.max-uri-length = 16k
        http.client.parsing.max-uri-length = 16k      
        http.host-connection-pool.client.parsing.max-uri-length = 16k      
        http.max-uri-length = 16k
        max-uri-length = 16k
    }
    
    akka.http {
      parsing {
        max-uri-length = 16k
      }
    }
    

    但是抛出这个异常 阿克卡。男演员ActorSystemImpl(播放开发模式)]非法请求,响应状态为“414请求URI太长”:URI长度超过配置的2048个字符的限制

    2 回复  |  直到 7 年前
        1
  •  0
  •   Jeffrey Chung    7 年前

    由于您在开发模式下运行,因此添加 akka.http.parsing.max-uri-length=16k 命令行的配置设置:

    -Dakka.http.parsing.max-uri-length=16k
    
        2
  •  0
  •   Julian Pieles    4 年前

    从我最初的帖子: https://stackoverflow.com/a/63390208/1029251

    我花了很长时间才弄明白。不知怎么的 不是 可在文件中找到。

    这里有一个片段放在你的 application.conf 它也可以通过环境变量进行配置,适用于 两者 开发和生产模式:

    # Dev Mode
    play.akka.dev-mode.akka.http.parsing.max-uri-length = 16384
    play.akka.dev-mode.akka.http.parsing.max-uri-length = ${?PLAY_MAX_URI_LENGTH}
    
    # Prod Mode
    akka.http.parsing.max-uri-length = 16384
    akka.http.parsing.max-uri-length = ${?PLAY_MAX_URI_LENGTH}
    

    然后,您可以编辑配置或设置一个已经部署的应用程序 PLAY_MAX_URI_LENGTH 它是动态配置的,无需修改命令行参数。

    env PLAY_MAX_URI_LENGTH=16384 sbt run