centos7上使用nginx非80端口转发失败

首先在操作系统上能否访问该链接

使用linxu命令curl xxxxx,结果能够正常访问,好了,这里我就可以知道不是nginx配置问题,多半是防火墙原因。

防火墙验证

  1. systemctl status iptables.service ,查询防火墙状态,此时查询得知防护墙是关闭,状态,我惊呆了,防火墙关闭之后难道不是无规则了吗,后来又瞎搞操作一波,以为是nginx的配置问题,修改了,又重启,结果还是老样子,内部可以用curl访问,后面我想试着将防火墙重启,再把规则添加上去,也许行得通;
  2. 执行 systemctl start firewalld 命令后出现Failed to start firewalld.service: Unit is masked,意思是防火墙服务被锁, 解决方法解锁,执行命令systemctl mask firewalld,ok,再执行启动防火墙,success。
  3. 添加防火墙规则命令,firewall-cmd --zone=public --add-port=6032/tcp --permanent (–permanent永久生效,没有此参数重启后失效),最后公网上也可以正常访问了。

关闭防火墙后为什么需要添加规则才能访问

查询资料得知需要将规则添加到防护墙后,防火墙正常启用情况下,即使下次关闭,以前添加的规则不会失效(要注意重启失效,通过命令行直接添加没有追加“permanent”),开放的端口仍然是以前的,即使关闭后,其他端口也无法使用,单纯关闭防火墙是行不通,还是需要添加对应的安全规则使其访问。

发布了3 篇原创文章 · 获赞 1 · 访问量 106

猜你喜欢

转载自blog.csdn.net/o12321o/article/details/104051431