WEBrick: RequestURITooLarge: я должен обновить или использовать другой сервер? - PullRequest
7 голосов
/ 01 декабря 2011

У меня сейчас есть:

$ 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 или мне действительно нужно использовать другой веб-сервер?

Спасибо

Ответы [ 3 ]

8 голосов
/ 01 декабря 2011

в рубине 1.9.3.источник говорит, что MAX_URI_LENGTH = 2083. Это означает, что последняя версия Webrick не может обрабатывать URL-адреса дольше, чем это.И вот что говорит вам исключение WEBrick :: HTTPStatus :: RequestURITooLarge.

Поэтому решение заключается в использовании другого веб-сервера.Один из самых любимых - Тонкий:

sudo gem install thin

cd to/your/rails/app

thin -h

thin -a localhost start
4 голосов
/ 04 декабря 2017

Как сказал здесь , вы можете изменить MAX_URI_LENGTH, используя этот код:

WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240)
0 голосов
/ 01 декабря 2011

Я вижу, вы пробовали единорога: вы пробовали запустить его через bundler? Добавить:

gem :unicorn

на ваш Gemfile и запустите:

bundle exec unicorn_rails

для запуска сервера и просмотра http://localhost:8080.

...