nginx转发静态资源时出现404的问题
使用nginx转发服务地址来保证不会出现跨域问题。
location /ggfw/ { proxy_pass http://127.0.0.1:9001/; }
但是通过以上配置之后,虽然能够访问到转发后的地址,但是所有静态资源文件的请求都报404错误,导致反向代理并没有完全成功。
经过多次排查与反复尝试,最终问题还是定位在nginx的路由配置上。具体是,出于nginx的路由路径【/ggfw/】在路由匹配成功之后还会继续往下寻找匹配规则(在上面的配置中找不到)以及在路径中末尾【/】的原因,静态资源的请求地址无法被nginx有效识别,直接导致反向代理失败了,所有的二级地址都没有被代理成功。
解决方法则是修改路由路径的匹配规则(加上往下匹配的通配符【^~】)即可:
location ^~ /ggfw/ { proxy_pass http://127.0.0.1:9001/; }
这样,nginx就能正常代理静态资源的访问,不会出现404请求报错了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?