Nginx禁止ip加埠訪問
阿新 • • 發佈:2022-02-11
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