As you have discovered you cannot use rsync with a remote source and a remote destination. Assuming the two servers can't talk directly to each other, it is possible to use ssh to tunnel via your local machine.
Instead of
rsync -vuar host1:/var/www host2:/var/www
you can use this
ssh -R localhost:50000:host2:22 host1 'rsync -e "ssh -p 50000" -vuar /var/www localhost:/var/www'
 The first instance of /var/www applies to the source on host1, the localhost:/var/www corresponds to the destination on host2.
 In case you're wonderingcurious, the -R option sets up a reverse channel from port 50000 on host1 that maps (via your local machine) to port 22 on host2. There is no direct connection from host1 to host2.
 
                