前段时间想着把 一起学笛子 这个网站中的几个工具提取出来,单独开发并部署一个工具网站,这样一方面可以实现真正意义上的多语言(毕竟是纯工具),另一方面也可以扩大受众范围(工具和具体的乐曲无关)。
但在测试通过 Nginx Proxy Manager(我一直在用这个,部署管理网站很丝滑) 部署的时候,发现了一个问题:html
、php
、txt
甚至json
文件都可以正常访问,但访问js
、css
、png
、svg
等这种静态资源文件时,却始终报 502
的错误,如下图所示:
作为开发人员,我深知 css
和 json
是没有什么区别的,都是普通文本文件,要说有,那就只能是扩展名了,这就更让人懵逼了,因为我并没有做任何对扩展名拦截的配置。而且,这个问题我感觉有些似曾相识,以前好像也遇到过,但时间久了,实在是想不起来当时是怎么解决的了。
于是我问了 豆包
、Copilot
以及最近比较火的 DeepSeek
,都回答的很有道理,但都不能解决问题。最后,我通过跟之前网站的配置进行逐项对比,发现问题出现在一个我意想不到的地方,如下图所示:
这里我启用了 Cache Assets,在我看来这是一项优化设置,用于在 Nginx 这一层缓存静态资源,下次访问同名静态资源的时候,Nginx 就会直接返回,而不用再经过反向代理绕一圈了。这是网站部署很常见的一种操作,就是把静态资源缓存在网关这一层,实在没想到,这里竟然会出问题,也不知道是 BUG
还是我自己的理解有误,但总之就是,把这个开关关掉就可以了。
最后问题虽然解决了,但想了一下觉得这个问题必需记一下,因为由于刻板印象的存在,我感觉这个错以后可能还会再犯,毕竟这已经不是第一次了。
评论0
暂时没有评论