tcp连接阿里云linux服务器失败

文章讲述了作者在遇到阿里云服务器上的程序绑定127.0.0.1导致客户端通过公网地址无法连接的问题。通过排查安全组设置、防火墙规则、端口监听状况以及分析RST包的原因,最终发现并解决了需要将bind地址更改为阿里云私网地址的问题。

原因:

自己程序bind的是127.0.0.1

应该改成 bind 阿里云的私网地址

client连接的是阿里云公网地址

参考:

阿里云服务器,客户端socket无法连接的问题 - 爱码网

排查过程记录:

1,安全组设置:有正常设置

2,防火墙有没有允许端口:已经允许

root@iZwz9hty12mlm1wlg0jzn0Z:~# ufw allow 8080/tcp
Rule added
Rule added (v6)
root@iZwz9hty12mlm1wlg0jzn0Z:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere                  
80                         ALLOW IN    Anywhere                  
22/tcp                     ALLOW IN    Anywhere                  
443                        ALLOW IN    Anywhere                  
Anywhere                   ALLOW IN    192.168.1.192             
8080                       ALLOW IN    Anywhere                  
8080/tcp                   ALLOW IN    Anywhere                  
80/tcp (v6)                ALLOW IN    Anywhere (v6)             
80 (v6)                    ALLOW IN    Anywhere (v6)             
22/tcp (v6)                ALLOW IN    Anywhere (v6)             
443 (v6)                   ALLOW IN    Anywhere (v6)             
8080 (v6)                  ALLOW IN    Anywhere (v6)             
8080/tcp (v6)              ALLOW IN    Anywhere (v6) 

3,抓包: 三次握手就没握上

查看rst原因:

有以下情况会发送RST包

1.connect一个不存在的端口;

2.向一个已经关掉的连接send数据;

3.向一个已经崩溃的对端发送数据(连接之前已经被建立);

4.close(sockfd)时,直接丢弃接收缓冲区未读取的数据,并给对方发一个RST。这个是由SO_LINGER选项来控制的;

5.a重启,收到b的保活探针,a发rst,通知b。

TCP socket在任何状态下,只要收到RST包,即可进入CLOSED初始状态。

所以怀疑是不是端口没litsen:

netstat -anp | grep 8080

得到又不是

8080       0.0.0.0:*               LISTEN  

4,再次搜索socket连接不上原因  找到文章

阿里云服务器,客户端socket无法连接的问题 - 爱码网

改bind的ip试下,成功。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值