灰儿 发表于 2022-9-22 17:06:37

Nginx反向代理找不到CSS,JS及图片问题解决

  参考:https://blog.csdn.net/baidu_19473529/article/details/78885810  使用nginx反向代理后端服务器,打开网页找不到css,js和图片
情况如下
目前nginx的配置:server {
    listen 80;
    server_name video.xxx.cn;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-Ip $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   location / {
      proxy_set_header Host $host:$server_port;
      proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://127.0.0.1:8083/video;

    }


}
解决办法,既然反向代理的路径下找不到文件,那么单独指定js css文件的访问路径修改后的配置如下: 反向代理的路径下找不到文件,需要单独指定js css文件的访问路径。
server {
    listen 80;
    server_name video.xxx.cn;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-Ip $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   location / {
      proxy_set_header Host $host:$server_port;
      proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://127.0.0.1:8083/video;

    }


    location ~ .*\.(js|css)$ {
             proxy_pass http://127.0.0.1:8083;
         }

}


增加两个location配置设置cs js和图片对应的反向代理,修改配置如下location /xxx/
    {
      proxy_pass http://172.16.90.232:86/;
    }
    # 设置js css和图片代理路径,否则前端访问找不到
    location ~ .*\.(js|css)?$ {
      expires 12h;
      proxy_pass http://172.16.90.232:86;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)?$ {
      expires 12h;
      proxy_pass http://172.16.90.232:86;
    }重启nginx即可nginx -t
nginx -s reload
页: [1]
查看完整版本: Nginx反向代理找不到CSS,JS及图片问题解决