欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

教你如何解决Nginx禁止ip加端口访问的问题

程序员文章站 2022-06-29 11:11:56
nginx禁止ip加端口访问使用iptables 限制对应端口,再利用nginx将80端口转发到对应端口centos7默认的防火墙是 firewalle,先看看服务器中有没有安装 iptables[...

nginx禁止ip加端口访问

使用iptables 限制对应端口,再利用nginx将80端口转发到对应端口

centos7默认的防火墙是 firewalle,先看看服务器中有没有安装 iptables

[root@vm-0-3-centos ~]# service iptables status
redirecting to /bin/systemctl status iptables.service
unit iptables.service could not be found.

安装 iptables

yum install -y iptables

关闭自带的防火墙 firewalld

# 停止firewalld服务
systemctl stop firewalld
# 禁用firewalld服务
systemctl mask firewalld

服务命令

# 启动iptables
systemctl start iptables.service

# 停止iptables
systemctl stop iptables.service

# 重启iptables
systemctl restart iptables.service

禁止外部访问8080端口

iptables -i input -p tcp --dport 8080 -j drop

允许本机访问8080端口

iptables -i input -s 127.0.0.1 -p tcp --dport 8080 -j accept

放行80端口

iptables -a input -p tcp --dport 80 -j accept
iptables -a output -p tcp --sport 80 -j accept 

到此,就可以使用域名直接访问8080端口了,并且ip + 端口的方式,也已经无法访问

iptables常用命令

# 查看iptables现有规则
iptables -l -n
# 允许所有访问
iptables -p input accept
# 清空所有默认规则
iptables -f
# 清空所有自定义规则
iptables -x
# 所有计数器归0
iptables -z
# 允许来自于lo接口的数据包(本地访问)
iptables -a input -i lo -j accept
# 开放22端口
iptables -a input -p tcp --dport 22 -j accept
# 开放21端口(ftp)
iptables -a input -p tcp --dport 21 -j accept
# 开放80端口(http)
iptables -a input -p tcp --dport 80 -j accept
# 开放443端口(https)
iptables -a input -p tcp --dport 443 -j accept
# 允许ping
iptables -a input -p icmp --icmp-type 8 -j accept
# 允许接受本机请求之后的返回数据 related,是为ftp设置的
iptables -a input -m state --state  related,established -j accept
# 其他入站一律丢弃
iptables -p input drop
# 所有出站一律绿灯
iptables -p output accept
# 所有转发一律丢弃
iptables -p forward drop

到此这篇关于nginx禁止ip加端口访问的文章就介绍到这了,更多相关nginx禁止ip端口访问内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!