View Full Version : Caching Service

Dec 7, 2012, 12:38 PM
I've just upgraded to Server 2.2, and thought I'd give the Caching Service a whirl, however, it's currently refusing to start saying that it can't be run on a public network. I've checked system.log, and the only thing that stands out is:

Request for registration from https://lcdn-registration.apple.com/lcdn/register failed:
HTTP response 400, body "INVALID_LOCAL_ADDRESS"

I'm a bit confused on what it's after, as all the other services ( DNS, DHCP, file sharing ) work as expected.

Any ideas?

Dec 7, 2012, 09:58 PM
Your server has to be behind a NAT for the Caching service (and only the Caching service) to work. That's because you don't want the server to be able to register itself to serve cached updates to other clients on the public internet -- it's intended for private networks only, and the only way to ensure that is to support NAT (non-public IP address ranges).

For more information about the service, in Server.app, go to Help...Server Help. Then the Help Center window, expand "Update Client software", and click on Cache App Store software.

Dec 10, 2012, 10:28 AM
I've run into this problem, scoured the help in OS X server and am coming to the conclusion that the test Apple use for a NAT'ed network is to check the server's IP to the range -, -
, -
If anyone has any technical info on how the NAT is detected I'd appreciate a reply.

Dec 15, 2012, 09:45 PM
If anyone has any technical info on how the NAT is detected I'd appreciate a reply.
What I know:
The Caching Service registers it's outside IP address with Apple. This IP gets reported back to the client. (you can see this exchange in the logs)

What I assume:
If that IP is assigned to a network interface on the server, the registration fails.

Dec 29, 2013, 04:35 PM
Apologies for resurrecting an old thread, but I've just got around for fixing this, and thought I'd post it here in case it helps anyone else....

Basically, my problem was due the Mac being multi-homed; I had to configure the Caching Server to listen on one interface:

sudo serveradmin settings caching:Interface = en1

Started the server, and now happily caching....