@GruffTech, actually, OSPF is not going to work at all for his solution as it is mostly an internal networking protocol and I doubt he's going to have a private circuit between his servers placed around the world.
As GruffTech mentioned, a Content Delivery Network company would be able to do this more cheaply than you could build a proper system with redundancy, anycast, multiple data centers around the world, etc.
You could use DNS Anycast or, at the very least something like Cisco's old LocalDirector (which you can emulate with lvs). The localdirector method actually would intercept the request and balance it to the closest node based on some internal metrics. I believe the LVS patches can look at ASPath when handed a BGP feed. If you are hosted at a data center, you might find it difficult to get hold of a BGP feed. Use bird rather than quagga if you are doing BGP4 on your director. DNS Anycast would hand the surfer a DNS record that would be close to that surfer's DNS server, but, if they are using a DNS server that isn't anywhere near them, it could hand them a worse surfing experience. I'm not a fan of the redirect method, since you had their connection there already, why not just send them the small payload at that point.
Remember that Geographically close doesn't always mean Network Topologically close. A surfer in South Florida may get better service from a hub in Atlanta, GA than they would from a hub in Miami, Florida because AT&T/Bellsouth tends to shove all of their exit traffic through Atlanta.