博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
电信云物资网崩溃问题原因
阅读量:5325 次
发布时间:2019-06-14

本文共 2517 字,大约阅读时间需要 8 分钟。

总结

这两天物资网网址崩溃问题,暂时解决,效果待观察,临时调整oracle INBOUND_CONNECT_TIMEOUT参数(有安全风险)

日志记录问题

--从nginx,oracle日志看出,连接超时导致崩溃,tomcat-->nginx-->oracle 之间的访问超时

--问题需把java的连接及时断开,一般都是程序异常退出导致,长时间连接不做事

--问题需要查询网络延迟原因,客户端验证时间过长

--临时恢复方法:重启tomcat集群,就会恢复

报错截图

 

报错日志

2019/07/26 11:58:21 [error] 30059#30059: *768457 no live upstreams while connecting to upstream, client: ip, server: xx request: "GET /unlogin/queryPurchaseTenderDetailInit.jhtml?model=2&id=5c58ecd1654d43c0b1a5b59e9dde708f HTTP/1.1", upstream: "http://ecm_request/unlogin/queryPurchaseTenderDetailInit.jhtml?model=2&id=5c58ecd1654d43c0b1a5b59e9dde708f", host: "x想、n", referrer: "http://xx/unlogin/queryPurchaseTenderDetailInit.jhtml?model=2&id=5c58ecd1654d43c0b1a5b59e9dde708f"

2019/07/26 11:58:21 [error] 30059#30059: *768488 no live upstreams while connecting to upstream, client: ip, server: xxx.cn, request: "GET /unlogin/queryPurchaseClarifyaddDetailInit.jhtml?model=2&id=f6ffd676a635442b8da2f9bf20cf6d0c HTTP/1.1", upstream: "http://ecm_request/unlogin/queryPurchaseClarifyaddDetailInit.jhtml?model=2&id=f6ffd676a635442b8da2f9bf20cf6d0c", host: "xxx.cn", referrer: "http://xx/unlogin/queryPurchaseClarifyaddDetailInit.jhtml?model=2&id=f6ffd676a635442b8da2f9bf20cf6d0c"

Fatal NI connect error 12170.

VERSION INFORMATION:

TNS for Linux: Version 11.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
Time: 26-7月 -2019 11:58:36
Tracing not turned on.
Tns error struct:
ns main err code: 12535

TNS-12535: TNS:operation timed out

ns secondary err code: 12560
nt main err code: 505

TNS-00505: Operation timed out

nt secondary err code: 110
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.149)(PORT=53670)) 

可能问题原因:

1 网络攻击,半开连接攻击

2 电信云应用端到服务端防火墙策略有问题,或者带宽存在问题,时间会超时

3 Client在default 60秒内没有完成认证,如果超过这个时间客户端没有提供正确的认证信息,服务器会自动中止该连接

(比较大的事务查询,导致60s内没有未完等,或者java异常连接未及时断开)

推测是3 client超过60 问题

解决方法:

1 tomcat程序方面修改,java自动断开连接,去优化解决延迟,把访问控制在60s以内 (建议修改)

2 电信云应用层到服务层之间,防火墙策略,流量带宽大小策略进行修改,查询网络延迟,把访问控制在60s以内 (建议修改)

3 oracle11G默认策略60s,

   一种是网络延时,客户端验证时间过长

   一种是长时间连接不做事

    如果超过这个时间客户端没有提供正确的认证信息,服务器会自动中止该连接 

临时解决方案(目的解决物资网无法访问问题)

修改oracle参数,从60s改成无限制

    1)、设置sqlnet.ora文件:SQLNET.INBOUND_CONNECT_TIMEOUT=0;

    2)、设置listener.ora文件:INBOUND_CONNECT_TIMEOUT_listenername=0;

    3)、然后reload或者重启监听

该参数主要是防止DoS攻击,恶意攻击者可以通过不停的开启大量连接请求,占用服务器的连接资源,使得服务器无法提供有效服务。在10.2.0.1起,该参数默认设置为60秒,所以此次修改无限制会有安全风险,可考虑从ip限制等其他方面加固安全

 

转载于:https://www.cnblogs.com/daizhengyang/p/11249886.html

你可能感兴趣的文章
MySQL 触发器简单实例
查看>>
MySQL------报错Access denied for user 'root'@'localhost' (using password:NO)解决方法
查看>>
车牌识别LPR(三)-- LPR系统整体结构
查看>>
新手村之顺序与分支
查看>>
BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊(LCT)
查看>>
WP8 学习 Onnavigatedto和OnnavigatedFrom的区别
查看>>
《Effective C#》读书笔记——条目3:推荐使用is或as而不是强制转换类型<C#语言习惯>...
查看>>
开发积累—泛型工具类
查看>>
iOS项目开发实战——制作视图的缩放动画
查看>>
关于在jquery动态修改css,html中,mouseenter,mouseleave,click等方法失效的处理
查看>>
[翻译] java NIO 教程---介绍
查看>>
Java开发小技巧(一)
查看>>
第二天简书
查看>>
iptables 用法
查看>>
POJ 3670 DP LIS?
查看>>
空心菱形的显示
查看>>
Eclipse 常用快捷键清单
查看>>
ELK Stack (2) —— ELK + Redis收集Nginx日志
查看>>
ElasticSearch 2 (19) - 语言处理系列之故事开始
查看>>
redis 存储时间区间的数据
查看>>