我在运行nginx和php的服务器上设置iptables规则。我已经允许80和443端口,但正如我所看到的,也有额外的连接到更高的端口被阻塞。
样本输出
netstat -anpn grep -v ":80“
tcp 0 1 10.0.0.1:8109 10.1.2.24:29837 SYN_SENT 19834/nginx: worker
tcp 0 1 10.2.3.45:31890 10.0.0.1:26701 SYN_SENT 17831/nginx: worker10.0.0.1是服务器IP,其他是客户端。
我的表规则:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT有谁能解释一下:
提前感谢!
发布于 2013-04-24 20:16:36
在处理请求时,Nginx通常会执行内部重定向,这将在高编号端口上建立连接。我不相信你能找到这个范围。
举个例子,我看到的是:
tcp 0 0 192.168.0.126:80 0.0.0.0:* LISTEN 9432/nginx: worker
tcp 0 0 192.168.0.126:80 192.168.0.177:62950 ESTABLISHED 9432/nginx: worker
tcp 0 0 192.168.0.126:80 192.168.0.177:62949 ESTABLISHED 9432/nginx: worker
tcp 0 0 192.168.0.126:80 192.168.0.177:62947 ESTABLISHED 9432/nginx: worker
unix 3 [ ] STREAM CONNECTED 29213 9432/nginx: worker 防火墙规则起作用的原因是:
因此,要回答你的问题:
发布于 2013-03-01 02:56:00
我在Nginx中也使用PHP。除了iptables中的22/80/443之外,我还阻塞了所有端口,并且没有遇到任何连接问题。我检查了我自己的netstat,它看起来与您的输出相同。你确定你的iptables规则是正确的吗?你能贴出sudo iptables -L的输出吗?
https://stackoverflow.com/questions/15134820
复制相似问题