2012-06-26 23 views
2

構建Play 2.0 scala應用程序並將其部署到Tomcat上的ROOT上下文(據我所知,Play應用程序必須部署到ROOT上下文中)。在這個服務器上有不同的環境下運行的其他web應用程序,但是以root用戶的Play應用程序,它攔截每個請求並且如果它是不理解的路由,則會失敗。如何讓Play 2.0框架忽略路線

有什麼辦法可以讓Play忽略一條路線,讓Tomcat繼續將它分派給一個註冊了該上下文的servlet?

感謝, 布賴恩

回答

1

事實上,你有縫的限制將被鏈接到子上下文deploiement。 play2戰爭插件does not support it until Play 2.1

它可能欺騙與tomcat conf做你想做的。我不知道tomcat足以給你正確的conf。

您仍然可以將您的Play應用部署爲獨立應用(不嵌入Tomcat),並使用前端HTTP服務器處理正確HTTP服務器的反向代理。您必須爲每個HTTP服務器定義要運行的正確端口,然後配置反向代理以根據域/端口將請求路由到正確的本地端口。我使用Nginx。也許Tomcat可以處理這個問題。

1

事實上,事實證明,這畢竟不是問題。我無意中沒有將其他應用程序部署到我正在測試的同一個tomcat服務器中(doh!)。一旦我正確部署它們,Play Framework應用程序就會獲得正確綁定的請求,而其他應用程序也會在子上下文中獲取綁定的請求。所以,虛驚一場。