I recently bump into an issue with HTTPS binding configuration for SSRS 2014. Instance was not touched for quite some time and self-signed HTTPS certificate expired. I generated new one and was trying to add new binding but SSRS console was keep removing HTTPS binding immediately after adding it with “We were unable to create the certificate binding.” message. I believe it was accompanied by HRESULT: 0x80040241. Internet is full of information on the problem and it looks like this thread, for example contains exhaustive list of things you need to check. But basically it turned out that beyond review and manual clean up of urlacls (netsh http show urlacl / netsh http delete urlacl) it was also necessary to copy my self-signed PS generated certificate from machine Personal store into machine Trusted root certificates store (hint was found here).
In a nutshell: when adding SSRS binding fails you need to know that those are not represented nowhere in IIS GUID, update your certificate (remove old, add new and be sure it is trusted on a Trusted Root level), next be sure you use right (non occupied by other services) ports and host names clearing up SSL reservations if necessary ( netsh http show urlacl / netsh http delete urlacl). Read error message you have and drill down into details to see error code – despite not showing its site and bindings in IIS console SSRS console does everything it can to say you what’s wrong / why it can’t proceed with adding binding, though I do admit underlying infrastructure of scattered configs and urlacls reservation can be intimidating at times.
I recently spent quite a few time trying to figure out why my SSRS service fails to start after performing upgrade from SQL Server 2012 to SQL Server 2016. Service was failing to start with quite generic error “System error 5 has occurred. Access is denied” which is a bit to broad, but after a while I looked into instance bin directory which contains log file where I seen some error indicating that configuration file is garbled somehow. At this point I revert to reinstall once again solution, and this time I noticed warning which I probably missed during initial instance upgrade attempt:
TITLE: Microsoft SQL Server 2016 Setup
The following error has occurred:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=13.0.1711.0&EvtType=0x35C10BED%25400xF538E98B
I proceed with upgrade I seen exactly the same problem – I can’t start SSRS service after upgrade completion. This warning essentially lead me to the thread on TechNet containing right solution. It seems that upgrade process somehow can’t handle SSL bindings for SSRS service or handles them differently (produces malformed XML configuration for them?) and what you need to do is remove SSL bindings for SSRS in Reporting Services Configuration Manager (see screenshot below).
Just to save some time which may be wasted on troubleshooting just remove your SSL bindings (I did it for Web Service URL & Web Portal URL) before starting upgade of your instance. You may add these bindings back after upgrade.