So, the company I work for use nintex workflow to extend Sharepoint workflow capabilities. This includes nintex consuming webservice hosted on sharepoint’s IIS. The problem starts when one of the webservices are hosted on the sharepoint server’s IIS, but uses alternate Fully Qualified Domain Name (FQDN)
On IIS log you’ll see:
2015-02-24 06:52:14 172.16.1.188 GET /HRBenefit/ - 80 - 172.16.1.188 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 401 0 0 11781 2015-02-24 06:52:14 172.16.1.188 GET /HRBenefit/ - 80 - 172.16.1.188 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 401 1 2148074254 15 2015-02-24 06:52:14 172.16.1.188 GET /HRBenefit/ - 80 - 172.16.1.188 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 401 1 2148074252 15
The sc-win32-status “2148074252” refers to the failed login attempt, while “2148074254” means that there are no credentials available in the security package. Furthermore, on Security Event Viewer, I got this:
Log Name: Security Source: Microsoft-Windows-Security-Auditing Date: 2/24/2015 4:05:25 PM Event ID: 4656 Task Category: File System Level: Information Keywords: Audit Failure User: N/A Computer: kestrel.falcon.local Description: A handle to an object was requested. Subject: Security ID: FALCON\surfer Account Name: surfer Account Domain: FALCON Logon ID: 0x90F0284B Object: Object Server: Security Object Type: File Object Name: C:\ProgramData\Microsoft\Event Viewer\Views\ServerRoles\ApplicationServer.Events.xml Handle ID: 0x0 Resource Attributes: - Process Information: Process ID: 0x51d4 Process Name: C:\Windows\System32\mmc.exe Access Request Information: Transaction ID: {00000000-0000-0000-0000-000000000000} Accesses: READ_CONTROL SYNCHRONIZE WriteData (or AddFile) AppendData (or AddSubdirectory or CreatePipeInstance) WriteEA ReadAttributes WriteAttributes Access Reasons: READ_CONTROL: Granted by D:(A;;0x1200a9;;;BA) SYNCHRONIZE: Granted by D:(A;;0x1200a9;;;BA) WriteData (or AddFile): Not granted AppendData (or AddSubdirectory or CreatePipeInstance): Not granted WriteEA: Not granted ReadAttributes: Granted by ACE on parent folder D:(A;;0x1301bf;;;BA) WriteAttributes: Not granted Access Mask: 0x120196 Privileges Used for Access Check: - Restricted SID Count: 0
After a wee bit of research, I found a Microsoft KB entries explaining what was happening to the server. So basically, starting 5.1 IIS will block an attempt to browse a locally hosted website or webservice which uses different name than the hostname of the machine. You can still use an alternate FQDN, but you can’t access it from the server itself. The KB also explain that the hostname check can be skipped by adding an entry to the server ‘s registry. To do that:
- Open regedit, and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- Right-click on Lsa, select New, then DWORD Value
- Put “DisableLoopbackCheck” as the name and press ENTER
- Right-click on “DisableLoopbackCheck”, then select Modify
- Put 1 in Value data box, press OK
- Quit Regedit, and restart IIS or the server
After IIS/the server finished restarting, the webservice should be accessible locally 😀