今天,前端同事问到该问题时,尝试打开他说的网页,确实出现这个失败提示net::ERR_INCOMPLETE_CHUNKED_ENCODING,于是观察发现这个js文件比其它js文件都要大,第一时间想到是不是nginx缓存的问题。
赶紧查看nginx错误日志,果然发现了关于这个js的异常内容
2022/04/28 15:53:43 [root] 3397#0: *95783 open() "/usr/local/nginx/proxy_temp/4/28/0000001701" failed (13: Permission denied) while reading upstream, client: xxx.xxx.xxx.xxx, server: xxxx.xxxxx.com, request: "GET /assets/js/chunk-vendors.719456.js HTTP/1.1", upstream: "http://xxx.xxx.xxx.xxx:9006/assets/js/chunk-vendors.719456.js", host: "xxx.xxxxx.com", referrer: "https://xxxx.xxxxxx.com/home"
关于目录/usr/local/nginx/proxy_temp是当要访问得代理文件大小超过配置的proxy_temp_file_write_size值时,nginx会将文件写入到临时目录下(默认为/proxy_temp)。
如果nginx中/proxy_temp过大或者没有写权限,缓存文件就写不进去了。
写权限肯定是有的,所以本次我对该缓存目录进行清空,执行如下命令
rm -rf /usr/local/nginx/proxy_temp/*
再次访问系统页面,发现已经可以正常加载该js文件。