我试图部署一个Rails应用程序作为使用Warbler的战争。我有它在Tomcat6中运行,它似乎运行良好。然而,我所有的 PUTDELETE 请求被拒绝 403 (Forbidden).

从我收集到的情况来看,Debian/Ubuntu上的默认Tomcat安装通过以下方式禁用了这些方法:

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

我试过将其设置为 false 在我的 /etc/tomcat6/web.xml 但没有骰子。我想知道我是否必须做类似于 jruby-rack Warbler在我的战争中包装的servlet容器?如果是这样,我该怎么做呢?

如果不是,为什么Tomcat会拒绝所有的 PUTs和 DELETEs被发送到我的Rails应用程序?

有帮助吗?

解决方案

只是为了额外的细节,这里是jruby-rack上的相关错误:

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

在撰写本文时,看起来正在进行修复。

其他提示

我有同样的问题。我将jruby-rack gem的版本从1.1.5更改为1.1.4,现在它可以正常工作。

对于这样的问题记录-特定于 RackFilter 人们总是可以尝试使用servlet操作模式作为解决方法,只需删除过滤器声明(和映射)并声明和映射 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>

如果你用的是莺,请复制 网络。xml。雇员再培训局 进入你的 配置;配置 目录:

cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top