Forwarding port 80 traffic to multiple Web servers behind the firewall

This cannot be done with IPTables. This is because the destination server is included in the HTTP request header field.

The first part of TCP connection is handshake, which sets up the connection between client and server. At this point, there is no information about the host name available. The HTTP request header field becomes after handshake.

Since IPTables simply forwards IP packets, it cannot forward the TCP handshake packets to correct destination.

You need to set up a reverse proxy, like HAProxy, nginx or Apache on the firewall machine.