IPtables block port 8080 but not for localhost
Solution 1:
You could try the following:
// 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
If you wanted to allow also 1 (or more) external/other IP you can use this:
// accept tcp on port 8080 from allowed_ip
iptables -I INPUT 3 -i eth0 -p tcp --dport 8080 -s allowed_ip -j ACCEPT
Let me know how it goes :)
Solution 2:
This would work:
iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j DROP