2011-11-30 1 views
5

내가 현재 가지고 :WEBrick : 요청하기 : 다른 서버를 업데이트해야합니까?

$ 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 

내가 인증을위한 오픈 아이디를 사용하고 있습니다 갖는 다음과 같은 오류 받고 있어요 문제 :

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

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

어떻게 해결할 수 있습니까? WEBrick을 업데이트 할 수 있습니까? 아니면 정말로 다른 웹 서버를 사용해야합니까?

감사

난 당신이 유니콘 시도한 볼
+0

나는 노력을 유니콘하지만, 얻을 : 당신은 이미, 랙 1.3.3를 활성화했지만 당신의 Gemfile은 rack 1.2.4가 필요합니다. 번들 exec 사용을 고려하십시오. (Gem :: LoadError) – AnApprentice

+0

로컬 호스트 문제입니다. 난이 버그를 로컬에서 순간적으로 해결하려고 노력 중입니다 – AnApprentice

답변

8

루비 1.9.3. 원본, 그것 MAX_URI_LENGTH = 2083. 그것은 Webrick의 최신 버전이 그것을 오래 urls를 취급 할다는 것을 의미한다. 그리고 이것이 바로 WEBrick :: HTTPStatus :: RequestURITooLarge 예외가 알려주는 것입니다.

따라서 해결책은 다른 웹 서버를 사용하는 것입니다. 가장 좋아하는 것들 중 하나는 얇은 :

sudo gem install thin 

cd to/your/rails/app 

thin -h 

thin -a localhost start 
+0

내가 시도 할 때 오류가 발생합니다 : /.rvm/gems/[email protected]/gems/bundler-1.0.15/lib/bundler/runtime.rb:31:in'block in setup ' : 이미 랙 1.3.3을 활성화했으나 Gemfile에 랙 1.2.4가 필요합니다. 번들 exec 사용을 고려하십시오. (Gem :: LoadError) – AnApprentice

+0

괜찮 았어. webrick처럼 레일 로깅을 표시하지 않습니까? – AnApprentice

+0

잠깐, 이건 로컬을위한 것입니다 ... 당신은 내가 지역을 위해 사용해야한다고 말하고 있습니까? – AnApprentice

0

: 당신은 들러를 통해 실행 봤어? 당신의 Gemfile

gem :unicorn 

을 실행 : 추가

bundle exec unicorn_rails 

서버를 시작하고 http://localhost:8080를 검색 할 수 있습니다.

+0

번들 exec 레일이로드 중입니다. WEBrick – AnApprentice

+0

죄송합니다. 루트에서'bundle exec unicorn_rails'를 실행해야합니다. 답변을 업데이트했습니다. – chrismdp

0

said here 마찬가지로,이 코드를 사용하여 MAX_URI_LENGTH을 변경할 수 있습니다 :

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