2012-10-18 31 views
1

我的應用程序是基於春天,並由碼頭服務。目前的設置看起來像這樣。反向代理與Apache和靜態內容背後的應用程序內碼頭

阿帕奇 - >反向代理 - >嵌入式碼頭 - >應用

當我直接訪問應用程序(http://127.0.0.1:15000)未經靜態資源被加載反向代理(CSS, .js等),但如果我通過反向代理 (https://127.0.0.1/app/)訪問它,它不起作用。

這是我的配置。

apache2.conf

ProxyPass /app/ http://127.0.0.1:15000/ 
ProxyPassReverse /app/ http://127.0.0.1:15000/ 
SSLProxyEngine on 

RewriteEngine On 
RewriteRule /app$ /app/ [R] 

爲spring-servlet.xml

... 
<mvc:default-servlet-handler /> 
<mvc:resources mapping="/resources/**" location="/resources/" /> 
... 

我想,在這兩個方面的靜態內容將交付。

+1

最簡單的辦法是使相符的路徑,即使用/應用作爲servlet上下文路徑。 –

回答

1

我知道這太晚了。但對於任何可能在這裏結束的人來說,向資源路徑添加映射將解決問題。

ProxyPass /app/resources http://127.0.0.1:15000/app/resources 
ProxyPassReverse /app/resources http://127.0.0.1:15000/app/resources 

這應該已經存在的映射之前加入。(最長的URL是第一位的,因爲無論哪個映射開始被讀取,勝)