首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jruby-rack servlet容器支持PUT/DELETE吗?

jruby-rack servlet容器支持PUT/DELETE吗?
EN

Stack Overflow用户
提问于 2012-03-09 04:33:35
回答 3查看 405关注 0票数 2

我正在尝试使用Warbler将Rails应用程序部署为WAR。我在Tomcat6中运行了它,看起来运行得很好。但是,我所有的PUTDELETE请求都被403 (Forbidden)拒绝了。

根据我所能收集到的信息,Debian/Ubuntu上的默认Tomcat安装通过以下方式禁用了这些方法:

代码语言:javascript
复制
<init-param>
   <param-name>readonly</param-name>
   <param-value>true</param-value>
</init-param>

我尝试在我的/etc/tomcat6/web.xml中将其设置为false,但没有成功。我想知道我是否必须在我的WAR中做一些类似于Warbler打包的jruby-rack servlet容器的事情?如果是这样,我该怎么做呢?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-09 22:34:47

为了获得额外的细节,这里是jruby-rack上的相关bug:

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

在撰写本文时,似乎正在进行修复。

票数 1
EN

Stack Overflow用户

发布于 2012-05-02 07:10:21

我也有同样的问题。我将jruby-rack gem的版本从1.1.5改为1.1.4,现在它工作得很好。

票数 3
EN

Stack Overflow用户

发布于 2012-05-16 16:27:15

对于这些特定于RackFilter的问题的记录,可以尝试使用servlet操作模式作为解决方法,只需删除过滤器声明(和映射),并声明和映射RackServlet

代码语言:javascript
复制
<!--
<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复制到您的配置目录中:

代码语言:javascript
复制
cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9624499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档