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后就没法正常转发啦
问
怎么做才能在最小修改的情况下让整个应用正常?
静态文件不需要转发,在 nginx 本机上部署静态文件,比如
location ~* ^/(?:images/|js/|css/) {
root /home/app/htdocs;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。