最近公司项目在做一个反向代理,反向代理成功后基本一切正常,只有静态文件无法加载。
比如我这里的原域名的*.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,所以在这里做下笔记,希望能帮到像我一样的菜鸟们。