JRuby-Rack Servletコンテナは、配置/削除しますか?
-
09-12-2019 - |
質問
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アプリに送信されているすべてのPUT
とDELETE
sを拒否しているのでしょうか。
解決
追加の詳細なので、ここにJRuby-Rackの関連バグがあります:
他のヒント
私は同じ問題を抱えていました。 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