17

OmniAuthを使用して、ユーザーがGoogleOpenIDアカウントでログインできるようにしています。WEBrickを使用して開発モードでログインしようとすると、WEBrick :: HTTPStatus::RequestURITooLargeエラーが発生します。Railsホストにデプロイすると、正常に機能します。WEBrickの代わりに使用する必要がある別のWebサーバーはありますか?

4

5 に答える 5

17

奇妙なことに、WEBrickのURIの長さの制限は何ですか。thin http://code.macournoyer.com/thin/を試すことができます。私は時々これを開発のためにローカルで使用します、そしてそれはうまくいくようです。

于 2011-02-08T05:13:12.380 に答える
11

OmniAuthのrailscast236で述べたように、WEBrickはOpenIDによって指定された長いURLで問題が発生します。私のために働いた与えられた解決策はあなたのgemfileにMongrelを追加することでした。

宝石'雑種'、 '1.2.0.pre2'

于 2011-02-09T04:36:30.983 に答える
7

fileというwebrick.rbファイルをconfig\initializersディレクトリに追加します。

if defined?(WEBrick::HTTPRequest)
  WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240)
end
于 2013-03-07T01:31:02.577 に答える
3

最新のrubyソースでは、URLサイズの制限が1024から2083に変更されています。この修正が含まれている更新されたルビーバージョンがすぐにリリースされることを願っています:)

https://github.com/ruby/ruby/blob/trunk/lib/webrick/httprequest.rb#L291

于 2011-07-03T10:41:31.547 に答える
0

Webbrickと多くの列(> 15)を持つテーブルを使用するCaseproofのDataTablesgemでこの同じ問題に遭遇しました。シンサーバーに切り替えると、私の問題も解決しました。DataTablesは、テーブルを作成するためのjavascript/jqueryプラグインです。

于 2011-08-25T01:52:30.187 に答える