2012-09-04 8 views
1

내 응용 프로그램에이 web.xml이 있습니다.Tomcat 호스트 구성 server.xml

<web-app> 
    <filter> 
     <filter-name>app</filter-name> 
     <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>openSessionInView</filter-name> 
     <url-pattern>/app/*</url-pattern> 
    </filter-mapping> 

    <filter-mapping> 
     <filter-name>app</filter-name> 
     <url-pattern>/app/*</url-pattern> 
    </filter-mapping> 

    <filter-mapping> 
     <filter-name>app</filter-name> 
     <url-pattern>/assets/*</url-pattern> 
    </filter-mapping> 


    <servlet> 
     <servlet-name>jersey-serlvet</servlet-name> 
     <servlet-class> 
      com.sun.jersey.spi.spring.container.servlet.SpringServlet 
     </servlet-class> 
     <init-param> 
      <param-name>com.sun.jersey.config.property.packages</param-name> 
      <param-value>com.package.example.restServer</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>jersey-serlvet</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

부두에서 응용 프로그램을 사용할 때 문제가 없습니다.

웹 응용 프로그램 :

http://localhost/app 

API를 나머지 응용 프로그램 : produccion에서

http://localhost/rest 

내가 바람둥이를 사용합니다.

I want to create http://www.example.com -> http://localhost/app 

and http://rest.example.com -> http://localhost/rest 

내 server.xml 파일 :이 설정을 사용하면

 <Host name="www.example.com" appBase="/usr/local/tomcat/webapps/example"> 
     <Context path="app" docBase="."/> 
     </Host> 


     <Host name="rest.example.com" appBase="/usr/local/tomcat/webapps/example"> 
     <Context path="rest" docBase="."/> 
     </Host> 

, 서버는 404 에러 코드를 반환합니다.

어떻게 해결할 수 있습니까?

감사합니다.

+0

tomcat을 독립 실행 형 서버로 사용하고 있습니까? 아니면 앞에 Apache가 있으며 프록시 ProxyPass를 통해 호출을 전달합니까? 바람둥이 404 또는 아파치 404가 있습니까? 아파치 하나를 얻는다면 아파치 설정으로 인한 문제 일 가능성이 높습니다. – joostschouten

+0

나는 바람둥이 만 사용합니다. – Ping

답변

0

나는 그 오류가있어 단지 몇 주 동안 고칠 수는 없지만 어떻게 든 C : \ Windows \ System32 \ drivers \ etc의 호스트 파일을 확인해야한다는 것을 기억했다. 내가 충격을 받았는지 확인했을 때! 파일이 내 컴퓨터에 설치된 다른 응용 프로그램에 의해 수정 되었기 때문에 12.0.0.1 주소가 다른 URL을 표시하고 0.0.0.0이 로컬 호스트를 표시하고있었습니다.

이와 비슷한 내용이 있으면 알려주십시오. 모든 것을 삭제하고 "127.0.0.1 localhost"를 남겨 두거나 로컬 컴퓨터에서 테스트를 수행 할 때 0.0.0.0을 사용하십시오.

이 정보가 도움이되기를 바랍니다.