nginx反向代理tomcat时资源文件处理问题
nginx上配置如下
48 location ^~ /bgmonitor/ {
50 proxy_pass http://localhost:8080/;
51 }
形如www.mr.org/bgmonitor的请求转发到本地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="${rc.contextPath}/css/bootstrap.css" rel="stylesheet" type="text/css"/>
<!-- font Awesome -->
<link href="${rc.contextPath}/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
<!-- Ionicons -->
<link href="${rc.contextPath}/css/ionicons.min.css" rel="stylesheet" type="text/css"/>
<!-- Theme style -->
<link href="${rc.contextPath}/css/AdminLTE.css" rel="stylesheet" type="text/css"/>
现象
访问时由于 ${rc.contextPath} 取出为空,导致整个资源路径变为/css/AdminLTE.css ,这个请求发到nginx后就没法正常转发啦
问
怎么做才能在最小修改的情况下让整个应用正常?
darknpc
9 years, 5 months ago
Answers
详见博客:
http://blog.iaceob.name/nginx-proxy/
以及
http://blog.iaceob.name/tomcat-multi-domain-binding/
便是我使用的解决方案, 只是我个人这么使用而已, 暂未发现有别人这么使用过.
lixiao
answered 9 years, 5 months ago