Pergunta

Estou tentando implantar um aplicativo Rails como WAR usando Warbler.Eu estou rodando no Tomcat 6 e parece estar funcionando bem.Contudo, todos os meus PUT e DELETE solicitações estão sendo rejeitadas com um 403 (Forbidden).

Pelo que consegui reunir, a instalação padrão do Tomcat no Debian/Ubuntu tem esses métodos desabilitados por meio de:

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

Eu tentei definir isso para false no meu /etc/tomcat6/web.xml mas sem dados.Eu me pergunto se tenho que fazer algo semelhante ao jruby-rack contêiner de servlet empacotado pelo Warbler no meu WAR?Se sim, como eu faria isso?

Se não, por que o Tomcat estaria rejeitando todos os PUTareia DELETEestá sendo enviado para meu aplicativo Rails?

Foi útil?

Solução

Apenas para detalhes adicionais, aqui está o bug relevante no jruby-rack:

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

Parece que uma correção está em andamento no momento em que este artigo foi escrito.

Outras dicas

Eu tive o mesmo problema.Mudei a versão da gem jruby-rack de 1.1.5 para 1.1.4 e agora funciona bem.

para registro de questões como essas - específicas para o RackFilter sempre se pode tentar usar o modo de operação do servlet como solução alternativa, basta remover a declaração do filtro (e o mapeamento) e declarar e mapear o 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>

caso você esteja usando toutinegra copie o web.xml.erb dentro de voce configuração diretório:

cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top