Thank you for posting your question in the Microsoft Q&A forum regarding the issues related to SSL binding and IIS configuration after a recent Exchange update. Based on my research, I would like to provide some information from my side, which I hope proves useful and kindly let me know if I’m mistaken.
Event ID 15021 - SSL Binding Failure
The error message usually looks like: An error occurred while binding to SSL port 443. The certificate hash is not valid or has expired. This typically occurs when Exchange Cumulative Updates (CUs) reset IIS bindings or when the SSL certificate thumbprint used in IIS is invalid or expired.
You can verify the current SSL certificate by running the following in PowerShell and confirming that the certificate is valid and assigned to the IIS service
Get-ExchangeCertificate | fl FriendlyName,Thumbprint,Services,NotAfter
(Get-ExchangeCertificate (ExchangePowerShell) | Microsoft Learn)
Then, Rebind SSL to IIS:
- Check current HTTPS bindings:
netsh http show sslcert - If missing or incorrect, remove and re-add the binding:
netsh http delete sslcert ipport=0.0.0.0:443 - Then re-add the certificate:
netsh http add sslcert ipport=0.0.0.0:443 certhash=<Thumbprint> appid={<GUID>}
You can use {00112233-4455-6677-8899-AABBCCDDEEFF} as a placeholder GUID; it just needs to be unique.
(Note: CU updates sometimes affect IIS bindings when self-signed certificates are configured)
Event ID 1309 – ASP.NET / ECP errors: ASP.NET errors in /ecp generally mean IIS virtual directories could not start, often due to misconfigured application pool identity or a corrupted web.config after a CU install.
- Check application pools: Open IIS Manager → Application Pools and check MSExchangeECPAppPool and MSExchangeOWAAppPool:
- Status: Started
- Identity: should be NetworkService
- Recycle the pools, and if still failing, please try to reset them.
- Restart the pools, you can run:
Restart-WebAppPool MSExchangeECPAppPool
Restart-WebAppPool MSExchangeOWAAppPool
- Reset IIS
iisreset /noforce
Recreate Virtual Directories (if needed)
- Backup current settings:
Get-OwaVirtualDirectory | fl Name,Identity,InternalUrl,ExternalUrl
Get-EcpVirtualDirectory | fl Name,Identity,InternalUrl,ExternalUrl
- Remove and recreate
Remove-OwaVirtualDirectory -Identity "Owa (Default Web Site)"
New-OwaVirtualDirectory -OwaVersion Exchange2019
Remove-EcpVirtualDirectory -Identity "ECP (Default Web Site)"
New-EcpVirtualDirectory -EcpVersion Exchange2019
(please restart IIS after changes)
Get-OwaVirtualDirectory (ExchangePowerShell) | Microsoft Learn
Get-EcpVirtualDirectory (ExchangePowerShell) | Microsoft Learn
- Confirm .NET and ASP.NET setup: Exchange 2019 CU14 depends on .NET Framework 4.8. Without it, ASP.NET pages will not function. Please ensure ASP.NET 4.8 is properly registered in IIS:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Additionally, I would like to share some common CU14 issues that self-signed certificates may be removed from IIS after CU installation, and permissions on C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess sometimes get reset. To avoid problems, please always run the CU as Administrator and restart the server after installation
Moreover, according to the Q&A Assist mentioned above regarding the browser showing a blank page or an HTTP 500 error, you can find detailed information here:
Fix failed Exchange Server updates
OWA or ECP stops working after you install a security update
I hope these suggestions provide some helpful ideas. If you need further assistance, feel free to ask via comments section.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.