使用 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
Original: https://www.cnblogs.com/zilongmao/p/15883833.html
Author: 无尽函数
Title: Nginx禁止ip加端口访问
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524100/
转载文章受原作者版权保护。转载请注明原作者出处!