IPtables阻止端口8080,但不是本地主机

目前我有一个应用程序运行在8080前端mod_proxy。

<Location /hudson> Order allow,deny Allow from all ProxyPass http://localhost:8080/hudson ProxyPassReverse http://localhost:8080/hudson </Location> 

我需要阻止TCP 8080,但不是本地主机如何做到这一点与IPtables?

你可以试试以下内容:

 // accept all tcp on port 8080 from localhost iptables -I INPUT 1 -i lo -p tcp --dport 8080 -j ACCEPT [...] all your other rules // drop all other packets iptables -A INPUT -j DROP 

如果你想允许1(或更多)外部/其他IP,你可以使用这个:

 // accept tcp on port 8080 from allowed_ip iptables -I INPUT 3 -i eth0 -p tcp --dport 8080 -s allowed_ip -j ACCEPT 

让我知道事情的后续 :)

这将工作:

 iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j DROP 

另一种方法:在服务器侦听8080,只绑定到本地主机:对于Apache看起来像下面:

 Listen 127.0.0.1:8080 <VirtualHost 127.0.0.1:8080> ... </VirtualHost>