请求(GET)或(POST):

http:// localhost:8080 / images?name = iVBORw0KGgoAAAANSUhEUgAAAAUA%20AAAFC ......

响应:

状态代码:414 Request-URI Too Long Connection:close Content-Length:0

如何增加请求大小?

#1楼 票数:9 已采纳

您有一个超过8kb的请求URI! Eeesh!

由于浏览器,代理和网络硬件中存在各种漏洞和错误,因此存在请求URI限制。

虽然可以增加Jetty中的Request URI限制检查,但为Jetty选择的值代表了公共互联网上各种http客户端和中介使用的当前安全最大值。

警告:你不想这样做

这不适合:

  • 可从Internet访问的WebServer。
  • 由Chrome,Firefox,Safari,MSIE或Opera等浏览器访问的WebServer。
  • 由Android,iOS或Microsoft移动设备访问的WebServer。
  • 在其前面有代理的WebServer。
  • 使用代理访问WebServer的客户端。

这仅适用于直接与Jetty服务器通信的自定义HTTP客户端之间的事务。

Jetty 9.2.6.v20141205的说明

如果您还没有Jetty Base ${jetty.base}目录,请创建一个并初始化它。

[user]$ mkdir mybase
[user]$ cd mybase
[mybase]$ java -jar /path/to/jetty-distribution-9.2.6.v20141205/start.jar \
            --add-to-start=http,deploy,webapp

编辑${jetty.base}/start.ini

并使用所需的上限更改(或添加)以下属性。

jetty.request.header.size=8192

不,没有办法禁用此限制检查。

对于每次增加,您都会遇到越来越多的问题。

从一些浏览器(最终所有浏览器)开始不发送请求,更不用说jetty接收它了。

同时,许多代理服务器处理您的请求的能力开始失败,导致终止和失败的连接或请求。 有时甚至会截断对Jetty的请求。

此外,每次增加都会使您暴露于标头中未经检查的限制的各种漏洞,从而导致各个组执行基于CPU和内存的DOS攻击的能力,这些攻击只需要很少的网络流量即可执行。

解决这个问题的正确方法:

你真的应该切换到基于POST(或PUT)的请求数据,而不是在HTTP协议的请求头中发送那么多的数据。

#2楼 票数:1

一种可能更简单的方法是在yaml配置文件中设置requestHeaderSize。 这是我们的摘录:

    server:
      applicationConnectors:
      - type: http
        maxRequestHeaderSize: 100KiB

此处显示其他可能的设置

  ask by Daniel Ozean translate from so

未解决问题?本站智能推荐:

1回复

活着的Dropwizard

我了解可以通过Dropwizard中的配置文件配置Jetty,但是我找不到启用Keep-Alive的方法,关于如何实现此功能的任何建议,而不是自定义过滤器?
3回复

Dropwizard url 重写

如何在 dropwizard 中启用 URL 重写? 我需要将与特定模式匹配的所有 url 重写为 /。 我正在使用 dropwizard 0.7.1 并且我正在尝试在前端以 html5 模式运行 Angular.js 应用程序,这需要 url 重写(请参阅https://docs.angular
1回复

Dropwizard:MaxQueuedRequests配置

我想将我的dropwizard传入请求限制为3个。因此,如果服务器正在处理3个请求,则我想发送503:“服务器容量已达到”响应代码。 我知道Dropwizard具有最大排队请求的配置: 默认值为1024。但是,我不知道如何使用此参数。 当我设置为3时,我的服务器将无法启动。
2回复

Dropwizard会话群集

我需要一种在不同的dropwizard Web服务之间共享会话的方法。 在Jetty中,可以通过使用JDBCSessionIdManager和JDBCSessionManager( http://wiki.eclipse.org/Jetty/Tutorial/Session_Clusterin
1回复

Dropwizard如何配置数据源?

我是DropWizard的新手,有这种情况: 我们有一个Web应用程序,现在将分为3个部分: 核心:拥有所有的商业智能, api:将是一个dropwizard项目,将调用核心方法,clases等, 和客户:实际上将是几个客户; 网络,iphone,android
1回复

dropwizard最大json主体大小

我正在将dropwizard用于REST服务,并想限制POST请求的最大正文(json)大小。 我尝试将org.eclipse.jetty.server.Request.maxFormContentSize设置为1,但这并不限制主体大小。 是否还有其他方法设置限制?
1回复

为什么dropwizard不能配置我的记录器?

我只是尝试将日志配置添加到dropwizard的yaml配置文件中。 我正在运行dropwizard版本0.9.2,我的yaml包含这个: 我的胖子肯定有 META-INF /服务/ io.dropwizard.logging.AppenderFactory 其中包含
1回复

使用DropWizard处理长请求

我有一个简单的DropWizard服务,我想要一个REST API来启动一个长期运行的处理任务 - 包括CPU和I / O绑定。 REST调用不会等待任务完成,通过轮询/长轮询/ Web套接字将发生通知。 现在,我更愿意,如果我可以在Dropwizard中执行此操作并将所有内容保存在单个