Контейнер сервлетов jruby-rack поддерживает PUT / DELETE? - PullRequest
2 голосов
/ 09 марта 2012

Я пытаюсь развернуть приложение Rails как WAR, используя Warbler.У меня это работает в Tomcat 6, и, кажется, работает нормально.Однако все мои PUT и DELETE запросы отклоняются с помощью 403 (Forbidden).

. Из того, что я смог собрать, при установке Tomcat по умолчанию в Debian / Ubuntu эти методы отключены.через:

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

Я пытался установить значение false в моем /etc/tomcat6/web.xml, но без игры в кости.Интересно, нужно ли мне делать что-то похожее на контейнер сервлетов jruby-rack, упакованный Warbler в моей WAR?Если так, как мне поступить?

Если нет, то почему Tomcat отклонил бы все PUT и DELETE s, отправленные в мое приложение Rails?

Ответы [ 3 ]

3 голосов
/ 02 мая 2012

У меня была такая же проблема. Я изменил версию jruby-rack gem с 1.1.5 до 1.1.4 и теперь он работает нормально.

2 голосов
/ 16 мая 2012

для записи о подобных проблемах - специфично для 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
1 голос
/ 09 мая 2012

Просто для дополнительной информации вот соответствующая ошибка на jruby-rack:

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

Похоже, что исправление находится в процессе на момент написания этой статьи.

...