Secure Your Reports: How to Enable SSL/TLS Certificate on SQL Server Reporting Services 2019

SQL Server Reporting Services, commonly known as SSRS, is widely used by organisations to publish business reports, dashboards, operational summaries, financial reports, and customer-facing analytics. Because these reports often contain sensitive business information, securing access to the SSRS web portal is very important.

By default, SSRS may be accessed using HTTP, for example:

http://servername/Reports
http://servername/ReportServer

However, in a production environment, report access should be protected using HTTPS with an SSL/TLS certificate. This ensures that communication between users, browsers, applications, and the SSRS server is encrypted.

This blog explains how to enable an SSL/TLS certificate on SQL Server Reporting Services 2019 in a practical and production-safe way.

Why Enable SSL/TLS on SSRS?

SSRS is often used to display important reports that may contain:

  • Customer data
  • Financial information
  • Sales and revenue reports
  • Operational reports
  • Employee information
  • Management dashboards
  • Compliance and audit data

If SSRS is accessed over HTTP, traffic between the user’s browser and the report server is not encrypted. This can expose sensitive information to network-level interception.

Enabling SSL/TLS provides several key benefits.

1. Encrypts Report Traffic

SSL/TLS protects data transmitted between the SSRS server and client browsers. This includes login sessions, report parameters, report output, exported files, and portal navigation.

2. Improves Security and Compliance

Many organisations are required to encrypt sensitive data in transit. HTTPS helps meet internal security policies and supports compliance requirements.

3. Builds User Trust

When users access reports through HTTPS, browsers show a secure padlock symbol. This gives users confidence that the reporting portal is protected.

4. Prevents Browser Security Warnings

Modern browsers increasingly warn users when sites use HTTP instead of HTTPS. Configuring SSRS with a valid certificate avoids these warnings.


SSRS SSL/TLS Configuration Overview

To enable HTTPS on SSRS 2019, the high-level process is:

  1. Obtain or create a valid SSL/TLS certificate.
  2. Import the certificate into the local computer certificate store.
  3. Grant the SSRS service account access to the certificate private key.
  4. Bind the certificate to the SSRS Web Service URL.
  5. Bind the certificate to the SSRS Web Portal URL.
  6. Restart and validate SSRS access using HTTPS.

Unlike SQL Server Database Engine encryption, SSRS SSL is configured using Report Server Configuration Manager, not SQL Server Configuration Manager.


Certificate Requirements for SSRS

Before starting, make sure the certificate meets these requirements:

RequirementDescription
Certificate typeSSL/TLS server certificate
Private keyCertificate must include a private key
Store locationLocal Computer > Personal
Subject or SANMust match the SSRS DNS name
Enhanced Key UsageServer Authentication
ValidityCertificate must not be expired
Trusted CACertificate should be issued by a trusted CA
Service account accessSSRS service account needs read access to the private key

For example, if users will access SSRS using:

https://reports.company.com/Reports

then the certificate should include:

reports.company.com

in the certificate subject or Subject Alternative Name.


Step 1: Import the SSL/TLS Certificate

Log in to the SSRS server.

Open the local computer certificate store:

Windows + R
certlm.msc

Navigate to:

Certificates - Local Computer
> Personal
> Certificates

Import the certificate, usually a .pfx file.

After importing, open the certificate and confirm that it says:

You have a private key that corresponds to this certificate.

If the certificate does not have a private key, SSRS will not be able to use it for HTTPS binding.


Step 2: Grant Private Key Permission to the SSRS Service Account

SSRS must be able to read the certificate private key.

In the certificate store:

  1. Right-click the certificate.
  2. Select All Tasks.
  3. Select Manage Private Keys.
  4. Add the SSRS service account.
  5. Grant Read permission.

Common SSRS service accounts may look like:

NT Service\ReportServer

or:

DOMAIN\svc-ssrs

You can confirm the SSRS service account from:

Report Server Configuration Manager
> Service Account

This step is very important. If the SSRS service account cannot read the private key, the HTTPS configuration may fail or the SSRS service may not work correctly.


Step 3: Open Report Server Configuration Manager

Open:

Report Server Configuration Manager

Connect to your SSRS instance.

For SQL Server Reporting Services 2019, the service name is commonly:

SQL Server Reporting Services

Once connected, you will configure HTTPS for two areas:

Web Service URL
Web Portal URL

Both should be configured if you want the full SSRS environment to work securely over HTTPS.


Step 4: Configure SSL for the Web Service URL

In Report Server Configuration Manager, go to:

Web Service URL

The default virtual directory is usually:

ReportServer

Select the SSL certificate from the HTTPS certificate dropdown.

Set the HTTPS port to:

443

Then click:

Apply

After applying, SSRS should create an HTTPS URL similar to:

https://reports.company.com/ReportServer

The Web Service URL is used by SSRS internally and by external tools or applications that connect to the report server web service.


Step 5: Configure SSL for the Web Portal URL

Next, go to:

Web Portal URL

The default virtual directory is usually:

Reports

Click:

Advanced

Under HTTPS identities, click:

Add

Select the SSL certificate and set the HTTPS port to:

443

Click OK, then click Apply.

After configuration, the Web Portal URL should look like:

https://reports.company.com/Reports

This is the main URL users access to view and manage reports.


Step 6: Update UrlRoot if Required

In some environments, SSRS subscriptions, report links, or exported report links may still use the old HTTP URL or server hostname.

To fix this, update the UrlRoot setting.

Open the following file as Administrator:

C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\RSReportServer.config

Before editing, take a backup of the file.

Find:

<UrlRoot>

Update it to the HTTPS Web Service URL:

<UrlRoot>https://reports.company.com/ReportServer</UrlRoot>

Save the file.

This ensures SSRS uses the correct HTTPS URL when generating links.


Step 7: Restart SQL Server Reporting Services

Restart the SSRS service.

You can restart it from:

Report Server Configuration Manager
> Report Server Status

Or use PowerShell:

Restart-Service SQLServerReportingServices

If the service name is different, check it using:

Get-Service | Where-Object {$_.DisplayName -like "*Reporting*"}

Step 8: Validate HTTPS Access

Open a browser and test the Web Service URL:

https://reports.company.com/ReportServer

You should see the SSRS web service page.

Then test the Web Portal URL:

https://reports.company.com/Reports

You should see the SSRS web portal.

Also check the browser padlock and confirm:

Certificate is valid
Issued to: reports.company.com

Step 9: Check HTTP.sys SSL Binding

SSRS uses Windows HTTP.sys for URL and SSL certificate bindings.

To check the SSL binding, open Command Prompt as Administrator and run:

netsh http show sslcert

This will show HTTPS certificate bindings, including the IP address, port, certificate hash, and application ID.

You can also check URL reservations using:

netsh http show urlacl

This is useful when troubleshooting duplicate bindings or port conflicts.


Common Issue: HTTPS Binding Already Exists

A common SSRS SSL error is:

An HTTPS binding already exists for the specified IP address and port combination.
The existing binding uses a different certificate from the current request.
Only one certificate can be used for each IP address and port combination.

This means Windows already has an HTTPS binding for the same IP address and port, usually:

0.0.0.0:443

or:

server-ip-address:443

using a different certificate.

To check the existing binding, run:

netsh http show sslcert

If the server is dedicated to SSRS and the old binding is no longer required, you can remove it using:

netsh http delete sslcert ipport=0.0.0.0:443

If the binding uses a specific IP address, use that IP address instead:

netsh http delete sslcert ipport=192.168.1.20:443

Then return to Report Server Configuration Manager and recreate the HTTPS binding using the correct certificate.

Be careful before deleting SSL bindings. If IIS, Power BI Report Server, Windows Admin Center, or another web application is using port 443, removing the binding may affect that application.


Firewall Requirements

If users access SSRS from other machines, make sure TCP port 443 is allowed through Windows Firewall.

You can create a firewall rule using PowerShell:

New-NetFirewallRule `
  -DisplayName "Allow SSRS HTTPS 443" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 443 `
  -Action Allow

Also confirm that any network firewalls between users and the SSRS server allow HTTPS traffic on port 443.


Best Practices for Production SSRS HTTPS

For a clean and secure production setup, follow these best practices:

  • Use a certificate issued by a trusted internal or public Certificate Authority.
  • Avoid self-signed certificates in production.
  • Use a proper DNS name such as reports.company.com.
  • Ensure the certificate Subject Alternative Name includes the SSRS DNS name.
  • Store the certificate in Local Computer > Personal.
  • Grant private key read permission only to the SSRS service account.
  • Configure both Web Service URL and Web Portal URL for HTTPS.
  • Use port 443 unless there is a valid reason to use another port.
  • Check for existing HTTP.sys bindings before applying changes.
  • Keep a record of the certificate expiry date.
  • Test from both the server and a client machine.
  • Prepare a rollback plan before making production changes.

Rollback Plan

If HTTPS configuration causes issues, you can roll back safely.

Open Report Server Configuration Manager and remove the HTTPS bindings from:

Web Service URL
Web Portal URL

Then restart the SSRS service.

If required, restore the previous RSReportServer.config file from backup.

You can also confirm remaining SSL bindings using:

netsh http show sslcert

Do not delete certificates or HTTP.sys bindings without checking whether they are used by another application.


Final Thoughts

Enabling SSL/TLS on SQL Server Reporting Services 2019 is an important step in securing business reporting environments. SSRS reports often contain sensitive operational, financial, and customer data, so exposing the portal over HTTP is not recommended for production systems.

The key points are simple:

Use a valid certificate
Install it in the correct certificate store
Grant private key access to the SSRS service account
Bind the certificate to both ReportServer and Reports URLs
Validate HTTPS access from client machines

With the right planning and validation, SSRS can be secured with HTTPS safely and reliably. This improves data protection, strengthens compliance, and gives users a secure reporting experience.