You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iptables临时限制HTTP/HTTPS仅自身访问,执行指定命令是否可行?

临时限制HTTP/HTTPS仅个人IP访问的iptables方案

核心前提

你提到服务器之前没配置iptables,默认所有流量都是允许的,所以我们的操作要先加允许规则,再加拒绝规则,同时确保不中断现有连接(包括你的SSH会话)——毕竟没控制台权限,断了可就麻烦了!

正确的操作步骤

假设你的公网IP是YOUR_IP(可以通过curl ifconfig.me快速获取),按顺序执行以下命令:

  1. 先允许已建立的连接继续通行(关键!避免SSH会话中断,也不影响其他服务的现有连接)

    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
  2. 允许你自己的IP访问HTTP(80)和HTTPS(443)端口

    sudo iptables -A INPUT -s YOUR_IP -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -s YOUR_IP -p tcp --dport 443 -j ACCEPT
    
  3. 拒绝其他所有IP访问这两个端口

    sudo iptables -A INPUT -p tcp --dport 80 -j DROP
    sudo iptables -A INPUT -p tcp --dport 443 -j DROP
    

为什么不能随便跑两条命令?

  • 如果先加DROP规则再加ACCEPT:会直接把包括你自己在内的所有IP挡在80/443端口外,甚至如果没先允许ESTABLISHED连接,你的SSH会话可能会因为后续数据包被拦截而断开,那你就彻底没法远程恢复了!
  • 如果没加ESTABLISHED,RELATED规则:虽然默认iptables允许所有流量,但当你添加DROP规则后,已有的HTTP/HTTPS连接会因为后续数据包被拦截而中断,而且SSH会话也可能出现不稳定的情况。

如何快速恢复原状

测试完成后,只需清空iptables规则,就能回到服务器初始的无限制状态:

sudo iptables -F

内容的提问来源于stack exchange,提问作者user

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:45:08