xinet vs iptables for port forwarding performance
- by jamie.mccrindle
I have a requirement to run a Java based web server on port 80. The options are:
Web proxy (apache, nginx etc.)
xinet
iptables
setuid
The baseline would be running the app using setuid but I'd prefer not to for security reasons. Apache is too slow and nginx doesn't support keep-alives so new connections are made for every proxied request.
xinet is easy to set up but creates a new process for every request which I've seen cause problems in a high performance environment.
The last option is port forwarding with iptables but I have no experience of how fast it is.
Of course, the ideal solution would be to do this on a dedicated hardware firewall / load balancer but that's not an option at present.