Exchange 2010 RPC issues (ExRCA 6001 endpoint errors, RPC over HTTP)

I just finished blowing my brains out for the better part of a week trying to figure out WHY a brand new Exchange 2010 install was blowing up on the Exchange Remote Connectivity Tester (ExRCA) for RPC over HTTP.  As well, Outlook 2007 and 2010 clients were also exhibiting all sorts of errors while using the “Outlook Anywhere” RPC over HTTP feature on the LAN.

First, a bit of background.  I did all the normal things when building the server itself (physical iron in this case, Server 2008 R2 as the OS) in that I configured and patched the OS in the normal fashion and, of course, the machine was joined to the domain.  I also installed all of the pre-reqs for Exchange in the normal fashion before I installed Exchange, or so I thought as I actually MISSED installing the RPC over HTTP feature once I installed the IIS role (more about that in a bit).  Exchange was installed and I then patched it up to date including SP2. A third party SSL cert was applied after the CSR was generated out of Exchange; the CSR was not for a UCC/SAN cert as the customer did not feel the need for the full “autodiscover” experience and, therefore, did not want to spend the extra money.  So, at that point I started creating user mailboxes and all looked good.  Well, that is, until I started testing with ExRCA.

ActiveSync testing was all good and brought up all green on the ExRCA dashboard.  Woo woo!  I then tried the RPC over HTTP test and it all fell apart.  To put it mildly, I ended up pulling my hair out.  I was definitely getting errors on RPC.  Perusing the ‘Net for possible answers pointed at a couple of registry entries – HKLMSoftwareMicrosoftRPCRpcProxyValidPorts and HKLMSoftwareMicrosoftRPCRpcProxyValidPorts_AutoConfig_Exchange that needed to be touched in order for the RPC over HTTP function to  work correctly.  And this is where I started to get messed up by the sheer overwhelming volume of information out there about the problem I was seeing.

To be very clear, the ValidPorts key may need to be modified if you are running Exchange 2007; if you are running Exchange 2010 you need to look at modifying the ValidPorts_AutoConfig_Exchange key.  The modifications suggested are the same, it is just the key that you apply the modifications to that differs.

OK, back on to what has to be done.  Both keys hold specific information about the RPC endpoints used by Exchange for various services, the endpoints being 6001, 6002 and 6004.  The entries that are required are as follows:  Exchange_server_netbios_name:6001-6002; Exchange_server_netbios_name:6004; Exchange_server_FQDN:6001-6002; Exchange_server_FQDN:6001-6004.  An example follows from a Exchange 2010 machine:

image

So, if your machine name is mymachine.local (as an example) you would have mymachine as the NetBios name and mymachine.local as the FQDN.  If you also have an external FQDN such as webmail.mycompany.com and you have created the internal DNS zone to map to that (because you did not go down the path of using a UCC/SAN cert) you should also enter that FQDN into the key (single set of NetBios entries, two sets of FQDN entries).  NOTE:  if you are on Exchange 2007 then the entries would all go into the single ValidPorts key.  All of this assumes you are on a single Exchange server.

I made all of these changes and retried ExRCA and still got nowhere.  More perusing the ‘Net until I found some posts that pointed out Exchange requires you install the RPC over HTTP feature BEFORE you install Exchange but while it is a requirement, Exchange will NOT fail the install if the feature is missing.  Hmmm, I checked and discovered that the feature was not installed!  I installed the feature, rebooted the server and tested with ExRCA again and everything STILL failed!  Arrrgh!  More perusing posts on the ‘Net …

I found a few posts that indicated the standard way to fix a mucked-up OWA/RPC install is to disable OWA in the Exchange console, remove the RPC over HTTP feature, reboot the server, install the feature then re-enable OWA.  I did all of that WITH a server reboot, for good measure, and STILL I got the 6001 errors out of ExRCA!  Well, to make a long story a lot shorter, after much futzing about I fired up regedit and discovered the ValidPorts_AutoConfig_Exchange was missing!  I’m not sure what happened, perhaps the key got pulled on the removal of the RPC over HTTP feature, perhaps something else pulled it, but the key was missing.  I manually added the key (it is a STRING entry) with all of the correct information and retested ExRCA.  Everything worked!

Moral of the story:  make damned sure ALL the Exchange pre-req’s are met before you install and this includes the RPC over HTTP feature!  Test with ExRCA and if you get the dreaded RPC endpoint errors make the registry changes as listed here.  Exchange configuration can be hard enough without having to chase down a bone-headed error like this one so save your hair and make sure all of the checklist items are completed BEFORE you spin up the Exchange install ISO.