接上面的操作,在腾讯云服务器上,安装 easyswoole 成功之后,想简单的写个demo,先在服务器上跑起来。 后面的研究交给第二天

1. 对外公网 IP

首先混淆了一个对外IP的概念

1.1 错误的ifconfig

clipboard.png

swoole脚本程序对外暴露了 9502端口。 通过URL进行HTTP访问,发现服务器怎么也响应不了

PS :中间的过程不再多说,怀疑了IP问题和防火墙问题

1.2 获取真正的对外IP

curl ifconfig.me

wget -qO- ifconfig.me/ip

2. 端口和防火墙

2.1 排错过程

安装demo 实例,写了一个简单的脚本

clipboard.png

对外暴露。

通过HTTP访问,无响应。

排错1 : 查看端口是否启动

clipboard.png

排错2 : 内网访问

clipboard.png

9502服务正常开启,内部访问正常,外部访问出现异常,就很可能是外部访问受限。

因为是买的腾讯云,所以可能是默认的 防火墙 deny

2.2 关闭防火墙

先通过关闭防火墙测试一下。

sudo ufw disable

发现通过浏览器已经可以正常的访问了。

但是如果因为一个服务,把所有的端口都暴露出去,也太危险了

所以选择对外暴露 固定端口

sudo ufw enable  // 开启防火墙

sudo ufw status // 查看防火墙的配置信息

sudo ufw allow 9502 // 对外暴露 9502 端口

测试 可以进程正常的访问 9502 端口,但是如果swoole服务启动 9503端口,虽然服务正常启动,内网访问正常,但是外网不可以访问。

2.3 防火墙的命令

在 Ubuntu 中用 UFW 配置防火墙

sudo ufw enable
sudo ufw default deny
sudo ufw allow|deny [service]

sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则


查看防火墙状态
sudo ufw status
允许某特定 IP
sudo ufw allow from xxx.xxx.xx.xxx
删除 smtp 端口的许可
sudo ufw delete allow smtp

天真真不知路漫漫
70 声望6 粉丝

1


引用和评论

0 条评论