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端口访问内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!