Nginx代理后访问net::err_content_length_mismatch

一、现象

用浏览器的 network 可以看到部分js和png以及css都已经加载成功了,证明网络是没问题的,但是有部分js会出现net::err_content_length_mismatch的错误,加载不上

我的环境是用nginx代理之后的

原因是nginx代理后有的前端文件太大,那么nginx就需要把文件缓存到proxy_temp目录下,这个目录是需要创建的,当权限不足时就会报这个错误,我的是这样子。

二、解决方法

找到自己的nginx目录下,有一个proxy_temp的文件夹授权777(包括子文件夹),重启nginx就好了

三、设置缓存大小

http {
# http_proxy 
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;

……

模块http_proxy
这个模块实现的是nginx作为反向代理服务器的功能,包括缓存功能
1、proxy_connect_timeout 60
    nginx和后端服务器连接超时时间(代理连接超时)
2、proxy_read_timeout 60
    连接成功后,与后端服务器两个成功的响应操作之间超时时间(代理接收超时)
3、proxy_buffer_size 4k
    设置代理服务器(nginx)从后端realserver读取并保存用户头信息的缓冲区大小,
默认与proxy_buffers大小相同,其实可以将这个指令值设的小一点。
4、proxy_buffers 4 32k
    4个缓存区,每个32k,proxy_buffers缓冲区,nginx针对单个连接缓存来自后端realserver的响应,
网页平均32k以下的话,这样设置。
5、proxy_busy_buffers_size 64k
    设置使用中的缓存区的大小,控制传输至客户端的缓存的最大
    高负荷下缓冲大小(proxy_buffers*2)
6、proxy_max_temp_file_size
    当proxy_buffers放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,
这个值用来设置临时文件大小,默认1024M,它与proxy_cache没有关系。大于这个值,将从upstream服务器传回。设置为0禁用
7、proxy_temp_file_write_size 64k
    缓存文件的大小
    当缓存被代理的服务器响应到临时文件时,这个选项限制每次写临时文件的大小。
    proxy_temp_path(可以在编译的时候)指定写到哪个目录
    proxy_pass,proxy_redirect见location部分。

四、代理静态文件

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
                expires      30d;
                proxy_pass http://127.0.0.1:8000;
                include naproxy.conf;
        }

location ~ .*\.(js|css)?$ {
     expires      12h;
    proxy_pass http://127.0.0.1:8000;
    include naproxy.conf;
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值