WEBrick:RequestURITooLarge:我应该更新或使用其他服务器吗?

我目前有:

$ rails s => Booting WEBrick => Rails 3.0.9 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2011-11-30 13:18:00] INFO WEBrick 1.3.1 [2011-11-30 13:18:00] INFO ruby 1.9.2 (2011-02-18) [x86_64-darwin10.8.0] [2011-11-30 13:18:00] INFO WEBrick::HTTPServer#start: pid=4204 port=3000 

我遇到的问题是我使用openID进行身份validation并收到以下错误:

 [2011-11-30 13:18:19] ERROR WEBrick::HTTPStatus::RequestURITooLarge 

在浏览器中:

 Request-URI Too Large WEBrick::HTTPStatus::RequestURITooLarge WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18) at macbook-pro.local:3000 

我怎样才能解决这个问题? 我可以更新WEBrick还是真的需要使用其他Web服务器?

谢谢

在Ruby 1.9.3中。 来源,它说MAX_URI_LENGTH = 2083.这意味着最新版本的Webrick无法处理更长的url。 这就是WEBrick :: HTTPStatus :: RequestURITooLargeexception告诉你的内容。

因此,解决方案是使用不同的Web服务器。 其中最受欢迎的是Thin:

 sudo gem install thin cd to/your/rails/app thin -h thin -a localhost start 

我看到你尝试过独角兽:你试过通过捆绑器运行吗? 加:

 gem :unicorn 

到您的Gemfile并运行:

 bundle exec unicorn_rails 

启动服务器并浏览到http:// localhost:8080 。

如此处所述 ,您可以使用以下代码更改MAX_URI_LENGTH

 WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240)