电信云物资网崩溃问题原因

总结

这两天物资网网址崩溃问题,暂时解决,效果待观察,临时调整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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值