linux关闭防火墙后curl本地的443端口拒绝

说白了,Linux中禁用防火墙后,本地curl的4 4 3 端口被拒绝了。
要么没有服务在运行,要么端口被别人抢了。

我们先来说最重要的事情,检查4 4 3 端口是否真的在监听。
去年我们运行该项目,发现使用 sudo netstat -tulnp | 时没有产生任何输出。
grep 4 4 3 并在那里崩溃了。
快速启动Nginx,输入命令 sudo systemctl start nginx 几秒后问题就解决了。
还有一点,如果输出显示某个进程正在监听,例如 sudo lsof -i :4 4 3 检测到 PID 为 1 2 3 4 ,只需 sudo Kill -9 1 2 3 4 杀死它即可。
但很多人不注意这一点,先控制进程再停止,很容易搞混。
还有另一个关键细节。
例如,Nginx nginx.conf 文件必须有 ssl Listen 4 4 3 ;这条线。
更改后,你必须 sudo systemctl restart nginx 热加载,否则你的工作就白费了。

一开始我以为问题都是与防火墙有关,但后来我发现出了问题。
本地hosts文件写入错误,localhost没有指向1 2 7 .0.0.1 ,curl无法直接连接。
只需使用 sudo vi /etc/hosts 即可恢复。
但说实话,这很混乱,因为当curl命令使用https://localhost:4 4 3 时,如果hosts不正确,系统会默认为hosts,这很不聪明。

建议运行 sudo netstat -tulnp | grep 4 4 3 之前。
如果没有进程正在运行,请启动 Nginx/Apache 并尝试curl -v https://localhost:4 4 3 不要忘记备份您的配置文件。
如果您尝试次数过多,此操作很容易被撤销。
等等,还有一件事。
如果您使用 Docker 容器来运行服务,请记住在容器中启用端口 4 4 3 主机的防火墙没用。

linux如何禁用端口,不使用防火墙规则。

禁用端口就会禁用服务,这是事实。

在终端命令行窗口中键入 ntsysv。
出现服务窗口。
取消该端口对应的服务星域。
保存设置。

就是这样。