开发者社区> 问答> 正文

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后就没法正常转发啦


怎么做才能在最小修改的情况下让整个应用正常?

展开
收起
小旋风柴进 2016-03-04 10:32:19 3249 0
1 条回答
写回答
取消 提交回答
  • 静态文件不需要转发,在 nginx 本机上部署静态文件,比如

    location ~* ^/(?:images/|js/|css/) {
        root /home/app/htdocs;
    }
    2019-07-17 18:51:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载