if you test from inside the box (IE from your X display or Gnome) your input will get to the webserver via the localhost loopback device not through your eth0 interface.. in other words your source will be -i lo
you have to either test from another server .. or not use the source element " -i eth0 " in your iptables rule .. ( IE dont use -i eth0 at the end )
I tried http://192.168.2.100. when I nmap localhost I can see my postgresql port, but whan I nmap 192.168.2.100 I can not. guess is not a difference at all, I will try another computer.