服务器接入swoole 关联的防火墙问题

接上面的操做,在腾讯云服务器上,安装 easyswoole 成功以后,想简单的写个demo,先在服务器上跑起来。 后面的研究交给次日

1. 对外公网 IP

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

1.1 错误的ifconfig

clipboard.png

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

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

1.2 获取真正的对外IP

curl ifconfig.me

wget -qO- ifconfig.me/ip

2. 端口和防火墙

2.1 排错过程

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

clipboard.png

对外暴露。 服务器

经过HTTP访问,无响应。swoole

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

clipboard.png

排错2 : 内网访问curl

clipboard.png

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

由于是买的腾讯云,因此多是默认的 防火墙 deny测试

2.2 关闭防火墙

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

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
相关文章
相关标签/搜索