Nginx 中配置proxypass后静态资源404

今天使用Nginx配置了一个网盘路径,代理到本地的5212端口,想通过这个路径访问这个网盘服务,但是打开页面发现所有的静态资源都是404,出不来,猜想应该是路径问题,通过index.html查看,发现里面都是绝对路径,这些没有匹配到代理里去,所以404了。

本人对nginx不熟,请大佬指教这个要怎么配一下才可以让静态资源也代理过去,万分感谢。

# 我的博客
    location / {
      gzip_static on; # 静态压缩
      proxy_set_header HOST $host;
      add_header Cache-Control public,max-age=60,s-maxage=60; # 配置缓存
      proxy_set_header X-Forwarded-Proto $scheme;
      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:8090;
    }

    # 我的网盘
    location /mkpan/ {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_pass http://127.0.0.1:5212/;

      # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
      # client_max_body_size 20000m;
    }
阅读 4.7k
1 个回答

加一个

location ^~ /static {
    proxy_pass http://127.0.0.1:5212;
}

这里有个问题,如果127.0.0.1:8090这个服务下面也有/static路径,会出现404。

建议直接用server_name区分不同的站点,不同的服务用不同的子域名会比较方便。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题