nginx 常见报错

nginx 常见报错

1.1 nginx 113: No route to host

用容器启动的nginx服务启动正常,upstream访问后端的时候,nginx日志里有报错:

  • failed (113: No route to host) while connecting to upstream

百度查询是防火墙原因,但查看firewalld和iptables都是退出的状态
发现使用过iptables -F清除iptables的规则后,docker启动容器自身启动受影响

firewall 的底层是使用 iptables 进行数据过滤,建立在 iptables 之上,而Docker 使用 iptables 来进行网络隔离和管理,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 Docker 的规则,从而影响了 Docker 的正常工作

//清空防火墙规则
iptables -F
//重启docker
systemctl restart docker
//重启容器nginx再测试
docker resatrt nginx

2.1 nginx页面白屏 ERR_INCOMPLETE_CHUNKED_ENCODING 200

某网站,为实现https,配置了nginx反向代理,打开网站页面发现白屏,F12打开浏览器的network,发现某些js文件加载报错 ERR_INCOMPLETE_CHUNKED_ENCODING 200

原因:

  • 磁盘满了
  • nginx的临时目录(/proxy_temp)过大或没有权限写入缓存文件
    //当代理文件大小超过配置的proxy_temp_file_write_size值时,nginx会将文件写入到临时目录下(默认为/proxy_temp)。
    //如果nginx中/proxy_temp过大或者没有写权限,缓存文件就写不进去了。
    //直接删除Nginx缓存文件;
    rm -rf  /usr/local/nginx/proxy_temp
    
    //设置Nginx的缓存过期时间;
    //调整/proxy_temp权限为配置nginx的那个用户;
    chown -R www:www /usr/local/nginx/proxy_temp
    
  • nginx的缓冲区(Proxy Buffer)设置较小
    //修改nginx
    proxy_buffer_size 1024k;
    proxy_buffers 16 1024k;
    proxy_busy_buffers_size 2048k;
    proxy_temp_file_write_size 2048k;
    
posted @ 2022-08-17 17:50  liwenchao1995  阅读(1514)  评论(0)    收藏  举报