문제

Warbler를 사용하여 Rails 앱을 WAR로 배포하려고 합니다.Tomcat 6에서 실행 중인데 정상적으로 실행되는 것 같습니다.그러나 나의 모든 것 PUT 그리고 DELETE 요청이 거부되고 있습니다. 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 내 WAR에 Warbler가 패키지한 서블릿 컨테이너가 있습니까?그렇다면 어떻게 해야 할까요?

그렇지 않다면 왜 Tomcat이 모든 것을 거부하겠습니까? PUT모래 DELETE내 Rails 앱으로 전송되고 있나요?

도움이 되었습니까?

해결책

추가 세부 사항을 위해 jruby-rack의 관련 버그는 다음과 같습니다.

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

이 글을 쓰는 시점에는 수정이 진행 중인 것 같습니다.

다른 팁

나는 같은 문제가 있었다.jruby-rack gem 버전을 1.1.5에서 1.1.4로 변경했는데 이제 잘 작동합니다.

이와 같은 문제에 대한 기록을 위해 - 특정 RackFilter 해결 방법으로 언제든지 서블릿 작업 모드를 사용해 볼 수 있습니다. 필터 선언(및 매핑)을 제거하고 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>

Warbler를 사용하는 경우 web.xml.erb 당신의 구성 예배 규칙서:

cp [GEM_HOME]/gems/warbler-1.3.4/web.xml.erb config
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top