2012-03-08 14 views
2

私はWarblerを使ってWARとしてRailsアプリケーションを配備しようとしています。私はTomcat 6で動作しており、正常に動作しているようです。ただし、私のPUTDELETEリクエストはすべて403 (Forbidden)で拒否されています。私が収集できていたもの、TomcatはDebianの/ Ubuntuでインストールデフォルトでは、これらのメソッドは無効にしているから、jruby-rackサーブレットコンテナはPUT/DELETEをサポートしていますか?

経由:

<init-param> 
    <param-name>readonly</param-name> 
    <param-value>true</param-value> 
</init-param> 

私は私の/etc/tomcat6/web.xmlが、無サイコロでfalseにこれを設定しようとしました。 WarblerがWARにパッケージ化したjruby-rackサーブレットコンテナに似た何かをしなければならないのだろうか?もしそうなら、私はこれについてどうやって行くのですか?

もしそうでなければ、PUTDELETEのすべてを私のRailsアプリケーションに送信することをTomcatが拒絶するのはなぜですか?

答えて

1

だけ余分な詳細は、ここでは関係のバグはJRubyのラックの上にある:

https://github.com/jruby/jruby-rack/issues/105

修正プログラムは、この記事の執筆時点で進行しているように見えます。

<!-- 
<filter> 
    <filter-name>RackFilter</filter-name> 
    <filter-class>org.jruby.rack.RackFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>RackFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping>--> 

<servlet> 
    <servlet-name>RackServlet</servlet-name> 
    <servlet-class>org.jruby.rack.RackServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RackServlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
:常に、回避策としてサーブレットの動作モードを使用してみてくださいだけでフィルターの宣言(およびマッピング)を削除し、宣言し RackServletをマッピングすることができ RackFilter 1に固有の - このような問題のためのレコードの
+0

が見えますhed in https://github.com/jruby/jruby-rack/commit/c42ee20e3d15b6c4a8cf316cafcf3bd5410cdfca。まだこれを試してみる機会はありませんでした。 –

+1

jruby-rack ** 1.1.6 **がこの回帰を修正してリリースされました。あるいは、サーブレット操作モードを使用することで、このケースの回避策として働くことになるので、同様の問題が発生した場合に備えて別のanwserを追加しました。 – kares

3

私は同じ問題を抱えていました。 jruby-rackの宝石のバージョンを1.1.5から1.1.4に変更しました。

2

あなたはウグイスを使用している場合は

設定ディレクトリにweb.xml.erbコピー:これはPATCだったよう

cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config 
関連する問題