赞
踩
1.首先总体部署情况是,在同一个内网服务器部署的前端和后端Java工程,部署工程后,在内网nginx代理第一层,在外网代理第二层,电脑端通过外网接口访问页面,有的接口莫名其妙出现
【Uncaught (in promise) Error: Network Error】
错误,接口也是提示返回
【无法加载响应数据: No data found for resource with given identifier 无法加载响应数据:没有为具有给定标识符的资源找到数据】
,于是页面就一直报错,通过前后代码一直找不到问题,于是开始从nginx配置和日志中查找问题
2.nginx排查,首先通过修改各种配置测试,一直都没有解决,然后通过查看日志错误,最终确定问题
3.首先排查外网日志错误内容
【Connection reset by peer】
这个错误是【访问接口失败了】第一点是访问到了内网的nginx,第二点,路径通过这里没有问题,
4.继续排查内网nginx报错日志
【Cannot allocate memory】
本块异常说是 因为 nginx 配置了 【client_max_body_size】【client_body_buffer_size】【large_client_header_buffers】这些参数,并且配置的比较大,比如我配置了【1024M】,然后查看linux系统的内存容量【free -m】,发现只有【170M】,于是访问接口就出现了【Cannot allocate memory】,
疑惑时,其他接口也是这么访问的,但是没有报错,只有这种接口有报错,目前还不清楚是什么问题,但是解决方法就是
修改 nginx 配置的 参数,要小于 【free -m】 中 free的内存值
然后访问就没有问题了
--------------------------------------------------------------------------------------------------------------------
这个网址最总解决问题:https://www.cnblogs.com/93bok/p/12424895.html
--------------------------------------------------------------------------------------------------------------------
记录完结
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。