当前位置:首页 » nginx技术知识

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

2015-07-28 16:53 本站整理 浏览(447)

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

比如我这里的原域名的*.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,所以在这里做下笔记,希望能帮到像我一样的菜鸟们。