.net短信接口 未能连接到服务器,短信API调试遇到的一个问题

在测试机使用第三方短信API时遇到CURL超时问题,本机测试正常。经排查,代码无问题,问题出在服务器防火墙。服务器使用iptables,配置防火墙后本机无法访问外部网络,解决办法是添加特定INPUT规则,以保证能与外部通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在测试机上使用第三方短信API的时候遇到了一个问题,就是CURL超时。本机测试啥问题都没有,然后就开始一步一步的排查。

1,查代码。(代码排除)

2,查服务器防火墙。

服务器防火墙使用的是iptables。最后弄明白是因为iptables配置防火墙后本机无法访问外部网络。

OUTPUT和FORWORD没有任何限制,这有点想不通,只好google一把,发现有人也是遇到这样的问题,解决的办法是添加如下规则:

/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

为何在没有添加上述规则就不能通信?因为建立一个通信连接需要服务器端和客户端交互才能完成。

举例来说,从本机使用ssh客户端去登陆外部的ssh 服务器,假设使用端口为12345,那么本就使用tcp端口号12345向服务器22端口发送一个请求,这个属于OUTPUT,由于OUTPUT规则没有 任何限制,所以可以顺利到达服务器,服务器收到请求后,服务器会回应本机的tcp 12345端口,此时回应属于INPUT,如果INPUT中配置放行此规则,那么连接就无法完成,也即是本机无法和外部通信。

外部的网络那么多,总不能逐 条去配置INPUT规则,所以为了能访问外部网络,必须要配置上述规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值