小五六资源网,小五六博客
  • 首页
  • Linux
  • nginx静态文件访问404(css,js等)反向代理

nginx静态文件访问404(css,js等)反向代理

发布:小五六资源网 2020年5月12日 6:20 星期二分类: Linux

nginx反向代理很简单:

如:打开 http://www.aa.com/demo 访问 http://www.xxx.cn

#www.aa.com服务器nginx配置demo反向代理
location /demo/ {
       proxy_pass http://www.xxx.cn/;
}
# http://www.aa.com/demo/user =>http://www.xxx.cn/user 

就上面一段简单的代码,就完成了
注:http://www.xxx.cn后面必须要有/

# 不加/
location /demo/ {
       proxy_pass http://www.xxx.cn;
}
# http://www.aa.com/demo/user =>http://www.xxx.cn/demo/user 

如果只是代理api,上面的已经满足了
如果要代理静态文件(如css,js等)可能就报404静态文件

http://www.aa.com/demo/static/index.js  //404
http://www.aa.com/demo/static/index.css //404

静态部分需要单独代理:

location ~ /demo/.*\.(js|css)$ { 
     proxy_pass http://www.xxx.cn; 
}

# http://www.aa.com/demo/static/index.js => http://www.xxx.cn/demo/static/index.js

# http://www.aa.com/demo/static/index.css => http://www.xxx.cn/demo/static/index.css

以上代码就差一下,如果静态放在demo/static目录,那就不用改了,只是没有如果,如果静态文件都放在static目录,使用rewrite 替换即可

location ~ /static/.*\.(js|css)$ { 
     proxy_pass http://www.xxx.cn; 
     rewrite ^/demo/static/(.*)$ /static/$1 last;
}

# http://www.aa.com/demo/static/index.js => http://www.xxx.cn/static/index.js

# http://www.aa.com/demo/static/index.css => http://www.xxx.cn/static/index.css

完整代码:

#www.aa.com服务器nginx配置demo反向代理
location /demo/ {
       proxy_pass http://www.xxx.cn/;
}
# http://www.aa.com/demo/user =>http://www.xxx.cn/user 

#静态配置
location ~ /static/.*\.(js|css)$ { 
     proxy_pass http://www.xxx.cn; 
     rewrite ^/demo/static/(.*)$ /static/$1 last;
}

# http://www.aa.com/demo/static/index.js => http://www.xxx.cn/static/index.js

# http://www.aa.com/demo/static/index.css => http://www.xxx.cn/static/index.css





最重要的是
静态文件配置中加
proxy_pass http://你的域名; 

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

发表评论: