问题现象:
nginx 配置反向代理后,网页可以正常访问,但是页面上的 js、css 和图片等资源都无法访问。

1
2
3
4
1)nginx配置如下:
2)域名访问:js css文件无法加载;
3)IP访问:js css文件可以正常加载;
4)CI框架下无法访问

配置此例即可:

1
2
3
4
location / {
proxy_pass http://127.0.0.1:8000;
include naproxy.conf;
}

解决方法:
nginx 配置文件中,修改为如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
location ~ \.php$ {
proxy_pass http://127.0.0.1:8000;
include naproxy.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
proxy_pass http://127.0.0.1:8000;
include naproxy.conf;
}

location ~ .*\.(js|css)?$ {
expires 12h;
proxy_pass http://127.0.0.1:8000;
include naproxy.conf;
}

需要把静态文件也添加反向代理设置。
原因分析:
反向代理的路径下找不到文件,这里需要单独指定 js 和 css 文件的访问路径。