【问题标题】:Clojure/Ring: Using the ring jetty adapter, large requests give me a 413: FULL HEAD error.Clojure/Ring:使用环形码头适配器,大型请求给我一个 413: FULL HEAD 错误。
【发布时间】:2012-02-14 22:21:24
【问题描述】:

使用 Ring 的 Jetty 适配器,如果我的请求太大,我会收到 413: FULL HEAD 错误。我将它追踪到一个名为 headerbuffersize 的属性,但是当我尝试在 run-jetty 调用中设置它时,我仍然得到 413。有没有更好的方法从 Ring 控制码头配置?

(ring/run-jetty
 (var app)
 {:port port :join? false
  :headerbuffersize 1048576})

这样做的正确方法是什么?

谢谢!

【问题讨论】:

    标签: clojure jetty limit ring


    【解决方案1】:

    我认为这应该可行:

    (def header-buffer-size 1048576)
    
    (def config
      {:host  "example.com"
       :port  8080
       ; join? false ; and any other options...
       :configurator (fn [jetty]
                       (doseq [connector (.getConnectors jetty)]
                         (.setHeaderBufferSize connector
                                               header-buffer-size)))
       })
    

    【讨论】:

    • 那肯定行得通!我现在看到,参考码头,我们可以做任何我们需要的配置。谢谢!
    • 有人说在最近的jetty版本中你应该使用setRequestHeaderSize而不是setHeaderBufferSize。如果是这种情况,请随时将此信息作为附录包含在内。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2012-05-04
    • 2012-11-14
    • 2017-03-01
    • 2015-02-22
    • 2016-02-01
    相关资源
    最近更新 更多