java-ee - nginx反向代理tomcat時資源文件處理問題
問題描述
nginx上配置如下48 location ^~ /bgmonitor/ { 50 proxy_pass http://localhost:8080/; 51 }
形如www.mr.org/bgmonitor的請求轉(zhuǎn)發(fā)到本地8080端口的tomcat
tomcat配置如下<Context docBase='/Users/mr/Documents/code_pool/bgmonitor-git/bgmonitor-web/target/bgmonitor' path='' reloadable='true'/>頁面渲染使用velocity,資源文件引用路徑為:
<!-- bootstrap 3.0.2 --> <link href='http://www.intensediesel.com/wenda/${rc.contextPath}/css/bootstrap.css' rel='stylesheet' type='text/css'/> <!-- font Awesome --> <link href='http://www.intensediesel.com/wenda/${rc.contextPath}/css/font-awesome.min.css' rel='stylesheet' type='text/css'/> <!-- Ionicons --> <link href='http://www.intensediesel.com/wenda/${rc.contextPath}/css/ionicons.min.css' rel='stylesheet' type='text/css'/> <!-- Theme style --> <link href='http://www.intensediesel.com/wenda/${rc.contextPath}/css/AdminLTE.css' rel='stylesheet' type='text/css'/>現(xiàn)象
訪問時由于${rc.contextPath}取出為空,導(dǎo)致整個資源路徑變?yōu)?css/AdminLTE.css ,這個請求發(fā)到nginx后就沒法正常轉(zhuǎn)發(fā)啦
問怎么做才能在最小修改的情況下讓整個應(yīng)用正常?
問題解答
回答1:靜態(tài)文件不需要轉(zhuǎn)發(fā),在 nginx 本機(jī)上部署靜態(tài)文件,比如
location ~* ^/(?:images/|js/|css/) { root /home/app/htdocs;}
具體如何配置參考文檔
回答2:詳見博客:http://blog.iaceob.name/nginx-proxy/以及http://blog.iaceob.name/tomcat-multi-domain-binding/
便是我使用的解決方案, 只是我個人這么使用而已, 暫未發(fā)現(xiàn)有別人這么使用過.
相關(guān)文章:
1. 老師 我是一個沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下2. 開了mc服務(wù)器但是不會全服同步數(shù)據(jù)3. PHP單例模式4. php自學(xué)從哪里開始?5. mysql如何配置遠(yuǎn)程php外網(wǎng)鏈接數(shù)據(jù)庫6. 在cmd下進(jìn)入mysql數(shù)據(jù)庫,可以輸入中文,但是查看表信息,不顯示中文,是怎么回事,怎新手,請老師7. index.php錯誤,求指點8. nginx 504 Gateway Time-out 請問如何設(shè)置9. 導(dǎo)入數(shù)據(jù)庫不成功10. Thinkphp 下載地址找不到了?
