一、 检查思路:
- 确定想要访问的服务器IP是否正确
- 服务是否正常启动且监听在对应的端口
- 云服务器的话,安全组端口是否放行
- 服务器操作系统内的防火墙是否放行
二、具体检查以及设置方法
1.确定要访问IP会否正确
某些情况下,比如说内网机器,IP开头为192.168.x.x、172.16.x.x及10.x.x.x,如果没有在路由器固定IP或者没有设置静态IP的情况下,系统重启可能会导致IP变化,这种情况下,最好是确定下IP是否有变化。
而对于外网的服务器来说,如果是通过域名访问的,可以在命令行ping一下对应的域名或者IP,通过ping的方式可以确定域名是否解析到了正确的IP上,同时也可以确定对应的服务器是否在线,Windows打开CMD或者PowerShell,macOS和Linux打开终端,比如ping本站服务器。
2.确定服务是否正常开启
我使用docker部署的,使用docker ps命令即可查看开启的服务。
3.检查云服务器安全组是否放行
默认的安全组规则,只开放了几个端口(例如22啥的),需要自己手动增加开放的端口。
下边这个图是华为云的安全组设置。
4.服务器系统防火墙是否放行对应的端口
如果到上一步都没什么问题的话,这里建议检查一下服务器系统内部的防火墙是否放行,如果防火墙限制了外部的访问,即使程序正确监听在对应的端口,我们从外部也是无法访问的。
一般来说,如果使用的是云服务厂商的系统模板,防火墙默认是没有开启的,但是如果是使用ISO镜像自己安装的系统,比如说CentOS7,默认是开启防火墙的,且默认除了SSH监听的22端口外,其余默认禁止。
以CentOS7为例,查询端口是否放行:
firewall-cmd –zone=public –query-port=80/tcp
其中,80是对应的端口,tcp是协议,如果你不清楚是tcp还是udp,建议使用tcp查询先。
查看防火墙是否在运行:
systemctl status firewalld
关闭防火墙:
systemctl stop firewalld
禁止开机启动:
systemctl disable firewalld
当然,也可以添加对应的端口:
firewall-cmd –permanent –add-port=80/tcp
firewall-cmd –reload
注意上面的reload命令,如果不执行这句,可能会导致添加的firewall规则不生效。
这里需要注意的是:如果是用docker部署的,使用完防火墙命令以后,需要重启docker才能继续使用docker。使用命令如下:
service docker restart
标签:IP,端口,防火墙,是否,服务器,docker,端口号 From: https://www.cnblogs.com/worthmove/p/16996307.html