使用nginx做反向代理,使用8013端口代理4200端口的angular,问题出现的原因是在开发过程中一次清除浏览器缓存,之后8013端口产生::ERR_CONTENT_LENGTH_MISMATCH错误,但原4200端口正常
因为在8013端口已经映射出加载界面,所以开始找问题的方向一直在angular,一直没有找到,后来找到喜硕,分析着4200端口访问是成功的所以感觉问题还是处在nginx上,看报错的意思发现内容太长,于是试着删了几个模块发现居然好了,再到后来在google上查了一下这个问题,发现大概时nginx的缓存方向的问题。
打开nginx的日志文件,运行以下指令: tail -f /usr/local/var/log/nginx/error.log,发现时文件权限禁止,
failed (13: Permission denied) while reading upstream翻译:失败(13: 权限被拒绝)同时读取文件xyz的上游
之后用 如下命令开放权限之后,发现就好了
sudo nginx -s stop
sudo chmod -R 777 /usr/local/var/run/nginx/*
nginx
原因:nginx会缓存大文件到proxy_temp目录中,然而对这个目录没有读写权限,nginx 的工作进程对大文件做了缓存,这个缓存在 %nginx%/proxy_temp 目录下,主进程在读取缓存的时候由于权限问题而无法访问。
大概原因应该是在未清理浏览器缓存的时候,nginx只是提供部分内容,所以未产生大文件缓存,当你清除浏览器缓存的时候,nginx就会提供所有的内容,因此将产生缓存。
match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
Ecma标准定义了ECMAScript 2020语言。它是ECMAScript语言规范的第11版。自从1997年第一版出版以来,ECMAScript已经发展成为世界上使用最广泛的通用编程语言之一
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!