質問

Warblerを使用して戦争としてRailsアプリを展開しようとしています。私はそれがTomcat 6で実行されています、そしてそれはうまく走っているようです。ただし、My PUT要求とDELETE要求はすべて403 (Forbidden)で拒否されています。

私が集めることができるものから、Debian / UbuntuのデフォルトのTomcatインストールには、次のメソッドが無効になっています。

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

falseでは、これを/etc/tomcat6/web.xmlに設定しようとしましたが、サイコロはありません。私は私の戦争でWarblerによって包装されたjruby-rackサーブレットコンテナに似たものをしなければならないのだろうか?もしそうなら、私はこれについてどのように行くでしょうか?

そうでない場合、なぜTomcatは私のRailsアプリに送信されているすべてのPUTDELETEsを拒否しているのでしょうか。

役に立ちましたか?

解決

追加の詳細なので、ここにJRuby-Rackの関連バグがあります:

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

この書き込み時に修正が進行中のように見えます。

他のヒント

私は同じ問題を抱えていました。 JRuby-Rack GEMのバージョンを1.1.5から1.1.4に変更しました。今は正常に機能します。

これらのような問題のために、RackFilterのような問題のために、常にサーブレットの操作モードを回避策として使用してみることができます。フィルタ宣言(およびマッピング)を削除し、RackServletを宣言してマッピングするだけです。

<!--
<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>
.

Warblerを使用している場合は、 web.xml.erb config ディレクトリにコピーしている場合:

cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top