linux

Connection reset by peer

连接原因 如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。 Socket默认连接60秒,60秒之内没有进行心跳交互,即读写数据,就会自动关闭连接。 一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。 简单的说就是在连接断开后的读和写操作引起的。 Connection reset by peer的常见具体原因 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭; 如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常。可以使用netstat -an查看网络连接情况。

  • 凯文
2 min read
http

HTTP HTTPS实战

问题 http协议是什么协议,结构是什么样的? http协议是几层协议? http是有状态的还是无状态的? nginx是几层代理? lvs是几层代理? 浏览器在与服务器建立了tcp连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开? 一个 TCP 连接可以发送几个 HTTP 请求? 一个 TCP 连接中 HTTP 请求发送可以一起发送么(比如一起发三个请求,再三个响应一起接收)? 为什么有的时候刷新页面不需要重新建立 SSL 连接? 浏览器对同一 Host 建立 TCP 连接到数量有没有限制? sktools介绍 ./sktools

  • 凯文
7 min read
idea

idea破解

目录 Goland IntelliJ IDEA goland 下载新版破解补丁 下载补丁文件 jetbrains-agent.jar 并将它放置到 Goland安装目录的\lib目录下(位置可随意,放这里是怕误操作删除了破解文件)。 进入项目界面 进入到项目界面后,点击GoLand最上面的菜单栏中的 “Help” -> “Edit Custom VM Options …”,如果提示是否要创建文件,请点”Yes”。 在打开的vmoptions编辑窗口末行添加:-javaagent:你goland的安装目录\jetbrains-agent.jar 请仔细检查补丁路径是否正确,

  • 凯文
2 min read
other

X.509 数字证书介绍

X.509 数字证书结构图 简单来说,数字证书就是一张附带了数字签名的信息表。 下图或许可以帮助对本文的理解。 互联网中常见的信息窃取方式 假设客户端「C」想和互联网另一端的服务器「S」进行无保密通信,且客户端「C」没有部署任何服务器身份验证机制。 假冒服务器 假冒的服务器「fake_S」冒充「S」,直接与「C」进行通信。 如果「C」打算将密码之类的敏感信息传递到「S」,那么敏感信息就会被「fake_S」截获。 这时候「

  • 凯文
13 min read
java

spring zuul接口与转发过程

spring zuul转发问题 spring zuul项目中的RestController api成功调用,但是存在部分接口调用了PostFilter,但是其它接口不执行PostFilter 原因 zuul: prefix: /v1 routes: new-platform-env: sensitiveHeaders: Access-Control-Allow-Origin,Access-Control-Allow-Methods path: /v1/** url: http://trade-application-gateway:8080 stripPrefix: false new-platform-env2: sensitiveHeaders: Access-Control-Allow-Origin,Access-Control-Allow-Methods path: /v2/** url: http://trade-application-gateway:

  • 凯文
3 min read
java

spring cloud zuul无法转发路由

问题 进行以下路由配置,当调用/financial_order/calculation时,无法将请求转发到http://service-financial-product:8080;zuul应是按从上至下,第一个匹配到的规则进行转发,所以原则上应请求至http://service-financial-product:8080 financial_calculation: path: /financial_order/calculation url: http://service-financial-product:8080/financial_product stripPrefix: false financial_order_service: path: /financial_

  • 凯文
1 min read
java

spring application.yaml配置文件解析过程

目录 主要相关类介绍 PropertySource PropertySources PropertySourceLoader PropertySourcesLoader PropertyResolver Environment StandardServletEnvironment ConfigFileApplicationListener ConfigFileApplicationListener.Loader 主要相关类介绍 PropertySource 是Spring对name/value键值对的封装接口。该定义了getSource()方法,这个方法会返回得到属性源的源头。比如MapPropertySource的源头就是一个Map,PropertiesPropertySource的源头就是一个Properties。 public abstract class PropertySource<T> { protected final Log logger = LogFactory.

  • 凯文
12 min read
other

常用的加密算法

概述 对称加密算法 非对称加密算法 散列算法 详述 对称加密算法 DES 应该是最早的现代密码学算法之一。它由美国政府提出,密钥长度为 56 位。目前,它暴力破解 56 位密码的时间,已经能控制在 24 小时内了。 DES 实际上是一个过时的密码学算法,目前已经不推荐使用了。关于 DES,还有一点特别有意思。DES 包含一个关键模块:S 盒,其设计的原理一直没有公开。因此,很多人都相信,这个

  • 凯文
5 min read
docker

查看docker容器的tcp连接

查看容器内的tcp连接 当需要查看tcp连接时,通常使用netstat或ss命令查看,但是查看docker容器的tcp连接存在两个问题 docker容器中无netstat或ss命令 node节点上无法查看容器中的连接 查看docker容器中网络连接 通过容器中的proc文件查看 查看proc文件内容 cat /proc/net/tcp 内容分析,主要关注的点是local_address、rem_address sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt

  • 凯文
6 min read
golang

golang之udpConn

golang进行UDP client/server通讯的过程中发现Read/ReadFromUDP/Write/WriteToUDP的使用,还有connection/unconnection较乱。 代码实验 UDP server UDP服务器端在调用”net.ListenUDP()“后创建”net.UDPConn”,read/write操作是通过这个UDPConn来完成的。因为listen的时候只指定了本地绑定的地址,它只能被动的接收来自客户端的消息,因此这个UDPConn在golang中为’unconnected’类型的。 这种类型的UDPConn的读操作可以接受Read()及ReadFromUDP()。区别是Read()无法知道远程连接的地址信息而ReadFromUDP()可以,所以如果后续需要跟远程进行双向通讯需要使用ReadFromUDP()。 这种类型的UDPConn在进行写操作时必须使用WriteToUDP()完成,并且需要指定对方的地址信息。

  • 凯文
3 min read