首页 > 系统相关 >Nginx使用总结解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

Nginx使用总结解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

时间:2022-12-27 19:06:38浏览次数:49  
标签:200 缓存 OK ERR max age nginx proxy 服务器


 

如何控制CDN文件在浏览器的缓存时间?

腾讯云 CDN 默认支持 源站的 Cache-Control 设置 。

目前暂不支持配置Cache-Control头部,因此无法在CDN节点上配置max-age,但CDN节点会继承源站的max-age,因此只需要在源站的服务器上配好即可。

先看下请求的cache-control 是否为

Cache-Control:

no-cache,如果是,则在nginx配置中加如下参数

要使静态文件缓存时间有效

add_header    Cache-Control  max-age=518400;//6天内缓存有效

 

 浏览器中关于Cache的3属性:
1. Cache-Control:
设置相对过期时间, max-age指明以秒为单位的缓存时间. 若对静态资源只缓存一次, 可以设置max-age的值为315360000000 (一万年). 比如对于提交的订单,为了防止浏览器回退重新提交,可以使用Cache-Control之no-store绝对禁止缓存,即便浏览器回退依然请求的是服务器,进而判断订单的状态给出相应的提示信息!

Http协议的cache-control的常见取值及其组合释义:
no-cache: 数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age, 则缓存期间不访问服务器.
no-store: 不仅不能缓存, 连暂存也不可以(即: 临时文件夹中不能暂存该资源).
private(默认): 只能在浏览器中缓存, 只有在第一次请求的时候才访问服务器, 若有max-age, 则缓存期间不访问服务器.
public: 可以被任何缓存区缓存, 如: 浏览器、服务器、代理服务器等.
max-age: 相对过期时间, 即以秒为单位的缓存时间.
no-cache, private: 打开新窗口时候重新访问服务器, 若设置max-age, 则缓存期间不访问服务器.
-  private, 正数的max-age: 后退时候不会访问服务器.
-  no-cache, 正数的max-age: 后退时会访问服务器.

 

允许访问以下地址时白名单过滤

        location /charge
                {
                proxy_pass http://localhost:8882;
                proxy_set_header Host $host;
                proxy_set_header X-Real_IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Headers X-Requested-With;
                add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
                allow 121.78.149.227;
                allow 121.78.150.227;
                allow 121.79.251.126;
                allow 121.77.171.211;
                deny all;

                }

 

解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

某一天发现tomcat项目被nginx代理后,有些图片变成损坏的感觉

Nginx使用总结解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)_缓存

二、原因及解决方案

常见的原因有如下几种情况:

1、nginx的缓冲区(Proxy Buffer)设置较小

修改配置如下:

proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;

2、nginx的临时目录(/proxy_temp)过大或没有权限写入缓存文件

当代理文件大小超过配置的proxy_temp_file_write_size值时,nginx会将文件写入到临时目录下(默认为/proxy_temp)。

如果nginx中/proxy_temp过大或者没有写权限,缓存文件就写不进去了。

修改权限:

chown -R nobody:nobody /usr/local/nginx/proxy_temp
  • 直接删除Nginx缓存文件;
# rm -rf  /usr/local/nginx/proxy_temp
  • 设置Nginx的缓存过期时间;
  • 调整/proxy_temp权限为配置nginx的那个用户;
chown -R www:www /usr/local/nginx/proxy_temp

3、磁盘空间不够

删掉磁盘一些日志 文件,释放下空间。

后来想了下,应该是服务器做了迁移后导致的目录权限的问题。

4.access.log文件太大

使用覆盖日志的方法清理Nginx日志文件

echo "" > /data/.logs/nginx_logs/access.log

如果不需要日志文件就直接关闭(不建议),nginx.conf

access_log off;

标签:200,缓存,OK,ERR,max,age,nginx,proxy,服务器
From: https://blog.51cto.com/u_4176761/5973328

相关文章