前言
记2023年6月17日,写下此博客,记录我无法访问上线的项目,这里先附上截图。
介绍项目情况
- 后端项目在docker容器部署运行
- 前端是部署在nginx(采用宝塔面板启动)
- 已有备案且解析好的域名(采用的是腾讯云)
解决历程
- 查看购买服务器平台的防火墙情况
我这个是是需要web服务,所以只要看80端口的有无开放,同时ip不能有所限制。
- 查看有无ip和域名有无正确绑定
2.1 [腾讯云官方的教程](https://cloud.tencent.com/document/product/302/3446
2.2 服务器的域名绑定
我使用的是宝塔面板
根据自己在服务器平台设置的域名保持一致即可!
在这里我依旧是完全正确,可依旧是拒绝访问T_T 这里就得好好想想是不是自己项目的配置问题 - 查看服务器的防火墙
firewall-cmd --list-ports
显然已经打开
查看服务器的防火墙对80端口的有无启动监听
相关服务
netstat -ant | grep 80
出现了!上述防火墙确实对80端口已经开启了,但是服务器却没有对80端口进行监听!
前面已经提到我们是采用nginx启动前端项目,其服务的默认端口号是80
,而刚好80端口没有被监听,那么这就说明在服务器中没有启动nginx的服务
!
结果还真是,输入
systemctl status nginx
最后启动nginx服务
systemctl restart nginx
再次访问域名,成功访问!(呦吼)
心得
通过这次抓马事件,我有几点心得,给大家参考
- 服务器的防火墙对端口地开放,不代表你能够访问,因为你都没有在对应的端口开启服务,你怎么能够访问相关服务呢?
- 能否ping通,不代表你能够访问服务,能ping的通,只代表你的ip地址和域名是已经成功绑定了,实现了ip和域名的一对一的映射关系。
- 检查方向有两个,一个是检查自己ip和域名绑定是否成功,可以采用ping的方式进行验证,另一个是检查服务器防火墙对应服务的是否
端口开放
和同时检查启动相关服务的端口有无监听
(Listen)
ps:感谢客服的耐心解答,让我(菜鸟)知道我服务器的ngxin服务没有启动监听