解决Nginx反向代理后无法加载静态文件的问题

       最近公司项目在做一个反向代理,反向代理成功后基本一切正常,只有静态文件无法加载。

比如我这里的原域名的*.test.com现在想通过*.bbs.test.com访问的时候就挂到*.test.com.但是

当访问*.bbs.test.com/css/XXX时却访问不到原服务器上的CSS文件。

费了点时间才找到解决方案,开始一直是想着在原服务器端里配置重新规则什么的,

搞了很久没实现,差点吊死在一棵树上。后来发现是在代理服务器端配置。

以下是代理服务器端的配置,他主要是将*.test.com的域名代理到 *.bbs.test.com这个域名下面


  server {
111         listen  80;
112         server_name ~^(.*).test.com;
113         set $domain $1;
114 
115 
116         location /bbs/ {
117             proxy_pass $scheme://$domain.bbs.test.com;
118             proxy_set_header  X-Real-IP  $remote_addr;
119         }
120 
121         location /bbs/css/ {                                                                                                       
122             alias /var/www/html/test/css/;##这里是原服务器端的静态文件路径
123             autoindex on;
124         }
125 
126     }


另外一个解决方法就是在我们原服务器端进行配置,在请求到达原服务器端的时候进行重写:

 99         location ~ /bbs/css/ {
100             rewrite ^(.*)css(.*)$  /css$2 break ;
101         }

我这里只以css为例 ,其他按需求添加 直接在判断条件里加 | (或)条件即可

大神勿扰,主要是刚接触Nginx,所以在这里做下笔记,希望能帮到像我一样的菜鸟们。

你可能感兴趣的:(Nginx)