【问题标题】:WEBrick: RequestURITooLarge: should I update or use a different server?WEBrick:RequestURITooLarge:我应该更新还是使用不同的服务器?
【发布时间】:2011-11-30 21:27:25
【问题描述】:

我目前有:

$ 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 进行身份验证并收到以下错误:

[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 还是真的需要使用不同的网络服务器?

谢谢

【问题讨论】:

  • 我试过 Unicorn 但得到:你已经激活了 rack 1.3.3,但是你的 Gemfile 需要 rack 1.2.4。考虑使用 bundle exec。 (Gem::LoadError)
  • 需要添加这是一个本地主机问题。我目前正在尝试仅在本地修复此错误

标签: ruby-on-rails ruby-on-rails-3 omniauth webrick


【解决方案1】:

在 Ruby 1.9.3 中。来源,它说 MAX_URI_LENGTH = 2083。这意味着最新版本的 Webrick 不能处理比​​这更长的 url。这就是 WEBrick::HTTPStatus::RequestURITooLarge 异常告诉你的。

因此,解决方案是使用不同的 Web 服务器。最喜欢的之一是 Thin:

sudo gem install thin

cd to/your/rails/app

thin -h

thin -a localhost start

【讨论】:

  • 当我尝试的时候我得到一个错误:/.rvm/gems/ruby-1.9.2-p180@andyw/gems/bundler-1.0.15/lib/bundler/runtime.rb:31 :in `block in setup': 你已经激活了 rack 1.3.3,但是你的 Gemfile 需要 rack 1.2.4。考虑使用 bundle exec。 (Gem::LoadError)
  • 好的,想通了。事情不会像 webrick 那样显示 Rails 日志记录吗?
  • 等一下这是本地的……你是说我应该用本地的东西吗?
  • 实际上,我会使用bundle exec rails s thin 运行它。这将使用 Thin 作为 Web 服务器运行 Rails 服务器。
  • 如果你使用rvm来安装thin。只需使用gem install thin
【解决方案2】:

said here,您可以使用以下代码更改MAX_URI_LENGTH

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

【讨论】:

  • 将此添加到 ApplicationController 似乎是最简单的解决方案。
【解决方案3】:

我看到您尝试过 unicorn:您是否尝试过通过 bundler 运行它?添加:

gem :unicorn

到您的Gemfile 并运行:

bundle exec unicorn_rails

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

【讨论】:

  • 运行 bundle exec rails s 加载引导 WEBrick
  • 糟糕:你是对的。您需要在根目录中运行bundle exec unicorn_rails。更新了答案。
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多