Il supporto del contenitore del servlet JRUBY-Rack Put / Elimina?
-
09-12-2019 - |
Domanda
Sto cercando di distribuire un'app per binari come una guerra usando Warbler.Ho in corso a Tomcat 6 e sembra funzionare bene.Tuttavia, tutte le mie richieste PUT
e DELETE
vengono respinte con un 403 (Forbidden)
.
Da quello che sono stato in grado di raccogliere, l'installazione predefinita Tomcat su Debian / Ubuntu ha questi metodi disabilitati tramite:
<init-param>
<param-name>readonly</param-name>
<param-value>true</param-value>
</init-param>
.
Ho provato a impostare questo a false
nel mio /etc/tomcat6/web.xml
ma senza dadi.Mi chiedo se devo fare qualcosa di simile al contenitore Servlet jruby-rack
confezionato da Warbler nella mia guerra?Se è così, come farei questo?
In caso contrario, perché il Tomcat potrebbe rifiutare tutti i PUT
s e DELETE
s vengono inviati all'app per le guide?
Soluzione
Solo per dettagli extra, ecco il bug pertinente su JRUBY-RACK:
https://github.com/jruby/jruby-rack/issues/105
Sembra che una correzione sia in corso al momento di questa scrittura.
Altri suggerimenti
Ho avuto lo stesso problema. Ho cambiato la versione del gemma di Jruby-rack da 1.1.5 a 1.1.4 e ora funziona bene.
Per il record per problemi come questi - specifici per il RackFilter
si può sempre provare a utilizzare la modalità operativa del servlet come soluzione workaround, basta rimuovere la dichiarazione del filtro (e mappare) e dichiarare e mappare il 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>
.
Nel caso in cui stai usando Warbler Copy the web.xml.erb nella directory config :
.cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config