문제

동일한 Jboss/Jetty 서버에 2 개의 웹 앱이 배포되었습니다. Jetty 5.1.14에는 다음과 같은 Jetty-web.xml이 있었는데, 이는 앱 중 하나를 가상 호스트 (동일한 포트)로 실행하도록 구성했습니다.

<Configure class="org.jboss.jetty.JBossWebApplicationContext"> 
  <Call name="addVirtualHost"><Arg>app2.localhost.com</Arg></Call> 
</Configure>

이것은 완벽하게 잘 작동했습니다. 불행히도, 그것은 Jetty 6.1.17에서 전혀 작동하지 않습니다. 우선, "JBossweBapplicationContext"는 이제 "jbosswebappContext"라고 불리는 것처럼 보이며, 둘째로 찾을 수있는 문서는 다음과 같은 것처럼 보이는 Jetty-web.xml을 사용해야한다고 제안합니다.

<Configure class="org.jboss.jetty.JBossWebAppContext"> 
  <Set name="VirtualHosts"> 
    <Array type="java.lang.String"> 
      <Item>app2.localhost.com</Item> 
    </Array> 
  </Set> 
</Configure>

그러나 이것은 작동하지 않습니다. 두 개의 webapp은 오류없이 배포되지만 가상 호스트 이름에서 두 번째 앱에 액세스하려고하면 첫 번째 앱에 액세스합니다. 두 응용 프로그램 모두 루트 컨텍스트에 있습니다 (이것은 협상 할 수 없습니다).

가상 호스트를 어떻게 작동시킬 수 있습니까?

(BTW, 나는 며칠 전에 ServerFault에 이것을 친구에게 게시했지만 아무도 대답하지 않았습니다.)

도움이 되었습니까?

해결책

이 구문은 각 웹 앱에 대해 Jetty6-web.xml에 포함시킬 경우 작동합니다.

<Configure class="org.jboss.jetty.JBossWebAppContext">
  <Set name="VirtualHosts">
    <Array type="java.lang.String">
      <Item>host1.domain.com</Item>
      <Item>host2.domain.com</Item>
    </Array>
  </Set>
</Configure>

모든 WebApp은 동일한 컨테이너에서 실행중인 경우 가상 호스트가 정의되어 있어야합니다. 어떤 이유로 든 가상 호스트와 함께 한 번의 전쟁을 배포하고 없으면 작동하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top