SharePoint 2013 : IIS Default Landing Pages / 404 Errors and the Request Management Service

This was an interesting one I came across recently; intermittently we would get reports of users receiving 404 errors and IIS default landing pages, as if SharePoint sites were not running/working on our Web Front End servers.

The SharePoint environment was 2x WFE, 2x Service Application and 1x SQL Server Reporting Services. The WFE servers were load balanced by a HLB. We’re using Host Named Site Collections, so have to manually configure IIS bindings on the Web Front End servers.

There were few errors that really explained what was going on – initially we thought it was a backup related issue, but I think that the backup simply exacerbated the issue rather than caused the issue.

Just prior to raising a support call with Microsoft I came aross the following blog post, which was pretty much like-for-like what we were seeing on our SharePoint 2013 farm:
http://amolmeshe.blogspot.co.uk/2013/05/sharepoint-2013-request-management.html

The issue was pretty simple – the Request Management Service was proxying requests to other servers in the farm – noteably the Service Application and SSRS servers – where IIS is not configured for the HNSCs. On the Service Application servers we had an IIS site listening on all all IPs/host headers, HTTPS – this was for Central Admin. On the SSRS server there was no HTTPS provision – this explained the randome behaviour we were seeing:

  • IIS landing page on the HTTPS-enabled Service Application servers
  • 404 errors on the non-HTTPS enabled SSRS server

Running some simple PowerShell commands we were able to exclude the Service Application and SSRS servers as targets from the Request Management Service configuration – commands taken from the blog above:

$web=Get-SPWebApplication -Identity <URL of web application>

$rm=Get-SPRequestManagementSettings -Identity

$web $m=Get-SPRoutingMachineInfo -RequestManagementSettings $rm -Name <MachineName> Set-SPRoutingMachineInfo -Identity $m -Availability Unavailable

No need to perform an IIS reset, the commands take effect immediately. Alongside resolving the IIS default page/404 errors, we also noticed that the HNSCs loaded significantly faster after making this change.

More info on the Request Management Service here: http://technet.microsoft.com/en-us/library/jj712708.aspx