That really depends on what you're using for the load balancer. It should be translating URLs back and forth, usually based on header values. For example, with nginx you can do something like this:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
This sends requests on to localhost port 8080, which is where Tomcat is running relatively to the nginx instance. The other headers help keep track of the IP address where the request originally came from (since it'll look to Tomcat like it came from localhost), the original host name (i.e. the address for the VIP), etc.
When XNAT itself cooks up URLs it should always be using the site URL, so you should make sure that's set to the VIP address.