Le conteneur de servlet jruby-rack prend-il en charge PUT/DELETE ?
-
09-12-2019 - |
Question
J'essaie de déployer une application Rails en tant que WAR à l'aide de Warbler.Je l'ai sous Tomcat 6 et il semble fonctionner correctement.Cependant, tous mes PUT
et DELETE
les demandes sont rejetées avec un 403 (Forbidden)
.
D'après ce que j'ai pu rassembler, l'installation par défaut de Tomcat sur Debian/Ubuntu a ces méthodes désactivées via :
<init-param>
<param-name>readonly</param-name>
<param-value>true</param-value>
</init-param>
J'ai essayé de régler ceci sur false
dans mon /etc/tomcat6/web.xml
mais pas de dés.Je me demande si je dois faire quelque chose de similaire à jruby-rack
Conteneur de servlets emballé par Warbler dans ma WAR ?Si oui, comment dois-je procéder ?
Sinon, pourquoi Tomcat rejetterait-il tous les PUT
sable DELETE
est-il envoyé à mon application Rails ?
La solution
Juste pour plus de détails, voici le bogue correspondant sur Jruby-Rack:
https://github.com/jruby/jruby-rack/issues/105
On dirait qu'une solution est en cours au moment de cette écriture.
Autres conseils
J'ai eu le même problème. J'ai changé la version du jruby-Rack Gem de 1,1,5 à 1.1.4 et cela fonctionne maintenant bien.
pour mémoire sur des questions comme celles-ci - spécifiques au RackFilter
on peut toujours essayer d'utiliser le mode de fonctionnement servlet comme solution de contournement, supprimez simplement la déclaration du filtre (et le mappage) et déclarez et mappez le 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>
au cas où vous utilisez warbler, copiez le web.xml.erb Dans votre configuration annuaire:
cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config