On the same intranet-only box I have an IIS 8 hosted website that makes calls to a second IIS-hosted WCF service.
- Windows authentication enabled for both applications (all others disabled)
- Website is hosted under a domain service account.
- WCF Services site hosted under the IIS AppPool user.
The binding looks like this:
<binding name="BasicHttpBinding_ServiceName" sendTimeout="00:05:00">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
When the website accesses the service using the netbios or ip address everything works fine. However, I would now like to use FQDNs for the production environment (http://services.company.local and http://web.company.local). As soon as I attempt to call the WCF service through the FQDN, I receive a 401 uauthorized with the following exception message:
MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'.
I've tried changing the clientCredentialType to NTLM and removing the negotiate provider from the IIS authentication (as suggested in another SO question) with no success (same error message, just the header received from the server was "NTLM" instead of "Negotiate,NTLM". From other research it seems that it might be an issue with the SPNs associated with the two subdomains created for this site, but I'm unsure 1. how to even check the SPNs for these domains, 2. What the SPNs should be, and 3. If this is even still relevant considering I am using kernel-mode authnetcation.