I've only read about this. I have heard that if you set up your DNS server to have multiple definitions of the same name with different IPs then it will serve the IPs in round robin style. That means that you don't need your front end server as you describe in your post. This does not take your failover into account. If one of the two servers was down then half of the connect requests would receive 'node not reachable'.
How to overcome this? Again, just a theory. Both web servers have two virtual NICs. Each virtual NIC has the address of the web server addresses. When the heartbeat tells each node that the other is running then only the virutal NIC with the node's address is active. If heartbeat says that the other node is down then the virtual NIC with the address of the other web server is activated.
I've been meaning to try this. If you do then please let me know how it worked out.