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

配置iptables仅允许Cloudflare访问Docker时Nginx proxy_pass被拦截如何解决

问题原因

你现有配置存在两处核心问题:

  1. iptables规则逻辑完全写反,当前规则非但不能拦截非Cloudflare的公网请求,反而会直接放行所有非Cloudflare来源的流量,违背你的配置初衷
  2. 没有放行Docker内部私有网段的流量,导致Nginx到后端app的反向代理请求被拦截

解决方案

1. 清空现有错误规则

iptables -F DOCKER-USER

2. 按正确顺序添加规则

# 放行已建立的关联连接
iptables -A DOCKER-USER -m state --state RELATED,ESTABLISHED -j ACCEPT

# 放行Docker内部私有网段流量(解决反向代理被拦截问题),可根据你实际使用的Docker网段调整
iptables -A DOCKER-USER -s 172.16.0.0/12 -j ACCEPT
iptables -A DOCKER-USER -s 10.0.0.0/8 -j ACCEPT
iptables -A DOCKER-USER -s 192.168.0.0/16 -j ACCEPT

# 逐条放行Cloudflare IP段对80/443端口的访问
iptables -A DOCKER-USER -s 173.245.48.0/20 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 103.21.244.0/22 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 103.22.200.0/22 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 103.31.4.0/22 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 141.101.64.0/18 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 108.162.192.0/18 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 190.93.240.0/20 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 188.114.96.0/20 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 197.234.240.0/22 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 198.41.128.0/17 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 162.158.0.0/15 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 104.16.0.0/13 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 104.24.0.0/14 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 172.64.0.0/13 -p tcp --dport 80,443 -j ACCEPT
iptables -A DOCKER-USER -s 131.0.72.0/22 -p tcp --dport 80,443 -j ACCEPT

# 拦截所有其他来源对80/443端口的访问
iptables -A DOCKER-USER -p tcp --dport 80,443 -j DROP

3. 持久化规则

根据你使用的系统执行保存命令,避免服务器重启后规则失效:

  • Debian/Ubuntu系统:netfilter-persistent save
  • CentOS/RHEL系统:service iptables save

补充说明

如果你的Docker使用自定义网段,可以执行docker network inspect <你的Docker网络名称>查看实际使用的网段,替换上述规则中的私有网段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:27:02