It would appear that Ghost 3 gets grumpy that the health check request used by HAproxy does not include ‘host’ information.
Adding this information to the check request like the following makes it work for Ghost 3.x, and also earlier versions.
option httpchk HEAD /test/ HTTP/1.0\r\nHost:\ rp.in.map59.com
This was driving me nuts.
Thanks to those who took a look, and hopefully this will help someone else in future.
Cheers,
S.