The following was in the response header (if of use)
Via: 1.0 c8be0f6fd7dcf98431343c15fdc064d0.cloudfront.net
(CloudFront)

What do I need to do to get this working? Also... this should be
fixed (without having to use a work around) because I am sure this
is affecting other people trying a fresh install who will just give
up after a few tries.

I know Ruby / Rails are open projects and rely on voluntary time
and effort but these types of issues are a big turn off for someone
trying out new processes. Could I suggest:

Greater error reporting: "incorrect header check" did not
reflect the original issue, which was a bad download (even if it
was a 200 status)... ok, maybe it did. Even running in debug mode
did not mention which file was affected, hence the need to use a
proxy (thanks to Charles Proxy for that).

Greater resilience : Why did the whole process stop on what
seem to be old versions of "rack" (1.0.0 vs 1.3.6) and "mimetype"
(1.16 vs 1.19).

Redundancy: while production.cf.rubygems.org does seems to be
hosted on a cloud based system, it didn't help my problem. Even
using --source didn't work; it still attempted to fetch the
gemspecs from the same location.

Just some thoughts to consider for the Rubygems folks.

And finally... thank you to all the volunteers out there for
continuing to work on the likes of Ruby, Rails, gem etc... that
keep the open source movement going. It is appreciated, even if we
do gripe every now and then.